equal
deleted
inserted
replaced
8 signature THEORY_DATA_ARGS = |
8 signature THEORY_DATA_ARGS = |
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 prep_ext: T -> T |
14 val prep_ext: T -> T |
14 val merge: T * T -> T |
15 val merge: T * T -> T |
15 val print: Sign.sg -> T -> unit |
16 val print: Sign.sg -> T -> unit |
16 end; |
17 end; |
17 |
18 |
35 exception Data of T; |
36 exception Data of T; |
36 |
37 |
37 val init = |
38 val init = |
38 Theory.init_data kind |
39 Theory.init_data kind |
39 (Data Args.empty, |
40 (Data Args.empty, |
|
41 fn (Data x) => Data (Args.copy x), |
40 fn (Data x) => Data (Args.prep_ext x), |
42 fn (Data x) => Data (Args.prep_ext x), |
41 fn (Data x1, Data x2) => Data (Args.merge (x1, x2)), |
43 fn (Data x1, Data x2) => Data (Args.merge (x1, x2)), |
42 fn sg => fn (Data x) => Args.print sg x); |
44 fn sg => fn (Data x) => Args.print sg x); |
43 |
45 |
44 val print = Theory.print_data kind; |
46 val print = Theory.print_data kind; |