equal
deleted
inserted
replaced
198 map (fn (cname, cargs, mx) => (Binding.suffix_name "_Rep" cname, |
198 map (fn (cname, cargs, mx) => (Binding.suffix_name "_Rep" cname, |
199 map replace_types cargs, NoSyn)) constrs)) dts'; |
199 map replace_types cargs, NoSyn)) constrs)) dts'; |
200 |
200 |
201 val new_type_names' = map (fn n => n ^ "_Rep") new_type_names; |
201 val new_type_names' = map (fn n => n ^ "_Rep") new_type_names; |
202 |
202 |
203 val (full_new_type_names',thy1) = Old_Datatype.add_datatype config dts'' thy; |
203 val (full_new_type_names',thy1) = BNF_LFP_Compat.add_datatype BNF_LFP_Compat.Unfold_Nesting dts'' thy; |
204 |
204 |
205 val {descr, induct, ...} = Old_Datatype_Data.the_info thy1 (hd full_new_type_names'); |
205 val {descr, induct, ...} = BNF_LFP_Compat.the_info thy1 BNF_LFP_Compat.Unfold_Nesting (hd full_new_type_names'); |
206 fun nth_dtyp i = Old_Datatype_Aux.typ_of_dtyp descr (Old_Datatype_Aux.DtRec i); |
206 fun nth_dtyp i = Old_Datatype_Aux.typ_of_dtyp descr (Old_Datatype_Aux.DtRec i); |
207 |
207 |
208 val big_name = space_implode "_" new_type_names; |
208 val big_name = space_implode "_" new_type_names; |
209 |
209 |
210 |
210 |