equal
deleted
inserted
replaced
7 after full bootstrap of datatype package. |
7 after full bootstrap of datatype package. |
8 *) |
8 *) |
9 |
9 |
10 signature DATATYPE = |
10 signature DATATYPE = |
11 sig |
11 sig |
12 include DATATYPE_DATA |
|
13 val distinct_lemma: thm |
12 val distinct_lemma: thm |
14 type spec = |
13 type spec = |
15 (binding * (string * sort) list * mixfix) * |
14 (binding * (string * sort) list * mixfix) * |
16 (binding * typ list * mixfix) list |
15 (binding * typ list * mixfix) list |
17 type spec_cmd = |
16 type spec_cmd = |
18 (binding * (string * string option) list * mixfix) * |
17 (binding * (string * string option) list * mixfix) * |
19 (binding * string list * mixfix) list |
18 (binding * string list * mixfix) list |
20 val read_specs: spec_cmd list -> theory -> spec list * Proof.context |
19 val read_specs: spec_cmd list -> theory -> spec list * Proof.context |
21 val check_specs: spec list -> theory -> spec list * Proof.context |
20 val check_specs: spec list -> theory -> spec list * Proof.context |
22 val add_datatype: config -> spec list -> theory -> string list * theory |
21 val add_datatype: Datatype_Aux.config -> spec list -> theory -> string list * theory |
23 val add_datatype_cmd: config -> spec_cmd list -> theory -> string list * theory |
22 val add_datatype_cmd: Datatype_Aux.config -> spec_cmd list -> theory -> string list * theory |
24 val spec_cmd: spec_cmd parser |
23 val spec_cmd: spec_cmd parser |
25 end; |
24 end; |
26 |
25 |
27 structure Datatype : DATATYPE = |
26 structure Datatype : DATATYPE = |
28 struct |
27 struct |