equal
deleted
inserted
replaced
12 ("Tools/inductive_codegen.ML") |
12 ("Tools/inductive_codegen.ML") |
13 "Tools/Datatype/datatype_aux.ML" |
13 "Tools/Datatype/datatype_aux.ML" |
14 "Tools/Datatype/datatype_prop.ML" |
14 "Tools/Datatype/datatype_prop.ML" |
15 "Tools/Datatype/datatype_case.ML" |
15 "Tools/Datatype/datatype_case.ML" |
16 ("Tools/Datatype/datatype_abs_proofs.ML") |
16 ("Tools/Datatype/datatype_abs_proofs.ML") |
17 ("Tools/Datatype/datatype.ML") |
17 ("Tools/Datatype/datatype_data.ML") |
18 ("Tools/old_primrec.ML") |
18 ("Tools/old_primrec.ML") |
19 ("Tools/primrec.ML") |
19 ("Tools/primrec.ML") |
20 ("Tools/Datatype/datatype_codegen.ML") |
20 ("Tools/Datatype/datatype_codegen.ML") |
21 begin |
21 begin |
22 |
22 |
280 subsection {* Inductive datatypes and primitive recursion *} |
280 subsection {* Inductive datatypes and primitive recursion *} |
281 |
281 |
282 text {* Package setup. *} |
282 text {* Package setup. *} |
283 |
283 |
284 use "Tools/Datatype/datatype_abs_proofs.ML" |
284 use "Tools/Datatype/datatype_abs_proofs.ML" |
285 use "Tools/Datatype/datatype.ML" |
285 use "Tools/Datatype/datatype_data.ML" |
286 setup Datatype.setup |
286 setup Datatype_Data.setup |
287 |
287 |
288 use "Tools/old_primrec.ML" |
288 use "Tools/old_primrec.ML" |
289 use "Tools/primrec.ML" |
289 use "Tools/primrec.ML" |
290 |
290 |
291 use "Tools/Datatype/datatype_codegen.ML" |
291 use "Tools/Datatype/datatype_codegen.ML" |
304 parse_translation (advanced) {* |
304 parse_translation (advanced) {* |
305 let |
305 let |
306 fun fun_tr ctxt [cs] = |
306 fun fun_tr ctxt [cs] = |
307 let |
307 let |
308 val x = Free (Name.variant (Term.add_free_names cs []) "x", dummyT); |
308 val x = Free (Name.variant (Term.add_free_names cs []) "x", dummyT); |
309 val ft = DatatypeCase.case_tr true Datatype.info_of_constr |
309 val ft = DatatypeCase.case_tr true Datatype_Data.info_of_constr |
310 ctxt [x, cs] |
310 ctxt [x, cs] |
311 in lambda x ft end |
311 in lambda x ft end |
312 in [("_lam_pats_syntax", fun_tr)] end |
312 in [("_lam_pats_syntax", fun_tr)] end |
313 *} |
313 *} |
314 |
314 |