src/Pure/theory_data.ML
changeset 12123 739eba13e2cd
parent 8142 37d3b5a4ebae
child 12311 ce5f9e61c037
equal deleted inserted replaced
12122:7f8d88ed4f21 12123:739eba13e2cd
     9 sig
     9 sig
    10   val name: string
    10   val name: string
    11   type T
    11   type T
    12   val empty: T
    12   val empty: T
    13   val copy: T -> T
    13   val copy: T -> T
       
    14   val finish: T -> T
    14   val prep_ext: T -> T
    15   val prep_ext: T -> T
    15   val merge: T * T -> T
    16   val merge: T * T -> T
    16   val print: Sign.sg -> T -> unit
    17   val print: Sign.sg -> T -> unit
    17 end;
    18 end;
    18 
    19 
    38 
    39 
    39 val init =
    40 val init =
    40   Theory.init_data kind
    41   Theory.init_data kind
    41     (Data Args.empty,
    42     (Data Args.empty,
    42       fn (Data x) => Data (Args.copy x),
    43       fn (Data x) => Data (Args.copy x),
       
    44       fn (Data x) => Data (Args.finish x),
    43       fn (Data x) => Data (Args.prep_ext x),
    45       fn (Data x) => Data (Args.prep_ext x),
    44       fn (Data x1, Data x2) => Data (Args.merge (x1, x2)),
    46       fn (Data x1, Data x2) => Data (Args.merge (x1, x2)),
    45       fn sg => fn (Data x) => Args.print sg x);
    47       fn sg => fn (Data x) => Args.print sg x);
    46 
    48 
    47 val print = Theory.print_data kind;
    49 val print = Theory.print_data kind;