equal
deleted
inserted
replaced
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]); |