src/HOL/Tools/Datatype/datatype.ML
changeset 58111 82db9ad610b9
parent 56254 a2dd9200854d
equal deleted inserted replaced
58110:019c0211ed1f 58111:82db9ad610b9
     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