src/Pure/theory.ML
changeset 4970 8b65444edbb0
parent 4912 9ac1c22dfe43
child 4974 45b7a51342a1
equal deleted inserted replaced
4969:61fd5c1d733f 4970:8b65444edbb0
    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 [] [];