equal
deleted
inserted
replaced
82 (object * object -> object) * (Sign.sg -> object -> unit))) list -> theory -> theory |
82 (object * object -> object) * (Sign.sg -> object -> unit))) list -> theory -> theory |
83 val get_data: theory -> string -> object |
83 val get_data: theory -> string -> object |
84 val put_data: string * object -> theory -> theory |
84 val put_data: string * object -> theory -> theory |
85 val prep_ext: theory -> theory |
85 val prep_ext: theory -> theory |
86 val prep_ext_merge: theory list -> theory |
86 val prep_ext_merge: theory list -> theory |
87 val require: theory -> string -> string -> unit |
87 val requires: theory -> string -> string -> unit |
88 val pre_pure: theory |
88 val pre_pure: theory |
89 end; |
89 end; |
90 |
90 |
91 |
91 |
92 structure Theory: THEORY = |
92 structure Theory: THEORY = |
123 (*compare theories*) |
123 (*compare theories*) |
124 val subthy = Sign.subsig o pairself sign_of; |
124 val subthy = Sign.subsig o pairself sign_of; |
125 val eq_thy = Sign.eq_sg o pairself sign_of; |
125 val eq_thy = Sign.eq_sg o pairself sign_of; |
126 |
126 |
127 (*check for some named theory*) |
127 (*check for some named theory*) |
128 fun require thy name what = |
128 fun requires thy name what = |
129 if exists (equal name) (Sign.stamp_names_of (sign_of thy)) then () |
129 if exists (equal name) (Sign.stamp_names_of (sign_of thy)) then () |
130 else error ("Require theory " ^ quote name ^ " as an ancestor for " ^ what); |
130 else error ("Require theory " ^ quote name ^ " as an ancestor for " ^ what); |
131 |
131 |
132 (*partial Pure theory*) |
132 (*partial Pure theory*) |
133 val pre_pure = make_thy Sign.pre_pure Symtab.empty Symtab.empty [] []; |
133 val pre_pure = make_thy Sign.pre_pure Symtab.empty Symtab.empty [] []; |