src/HOLCF/Tools/Domain/domain_library.ML
changeset 33317 b4534348b8fd
parent 32126 a5042f260440
child 33396 45c5c3c51918
equal deleted inserted replaced
33316:6a72af4e84b8 33317:b4534348b8fd
   239 val sel_of    =       second;
   239 val sel_of    =       second;
   240 val     vname =       third;
   240 val     vname =       third;
   241 val upd_vname =   upd_third;
   241 val upd_vname =   upd_third;
   242 fun is_rec         arg = rec_of arg >=0;
   242 fun is_rec         arg = rec_of arg >=0;
   243 fun is_nonlazy_rec arg = is_rec arg andalso not (is_lazy arg);
   243 fun is_nonlazy_rec arg = is_rec arg andalso not (is_lazy arg);
   244 fun nonlazy     args   = map vname (filter_out is_lazy    args);
   244 fun nonlazy     args   = map vname (filter_out is_lazy args);
   245 fun nonlazy_rec args   = map vname (List.filter is_nonlazy_rec args);
   245 fun nonlazy_rec args   = map vname (filter is_nonlazy_rec args);
   246 
   246 
   247 
   247 
   248 (* ----- combinators for making dtyps ----- *)
   248 (* ----- combinators for making dtyps ----- *)
   249 
   249 
   250 fun mk_uD T = DatatypeAux.DtType(@{type_name "u"}, [T]);
   250 fun mk_uD T = DatatypeAux.DtType(@{type_name "u"}, [T]);