src/Pure/Thy/thy_read.ML
changeset 586 201e115d8031
parent 559 00365d2e0c50
child 715 f76ad10f5802
equal deleted inserted replaced
585:409c9ee7a9f3 586:201e115d8031
    31 
    31 
    32   val use_thy        : string -> unit
    32   val use_thy        : string -> unit
    33   val update         : unit -> unit
    33   val update         : unit -> unit
    34   val time_use_thy   : string -> unit
    34   val time_use_thy   : string -> unit
    35   val unlink_thy     : string -> unit
    35   val unlink_thy     : string -> unit
    36   val base_on        : basetype list -> string -> bool -> theory
    36   val mk_base        : basetype list -> string -> bool -> theory
    37   val store_theory   : theory * string -> unit
    37   val store_theory   : theory * string -> unit
    38 
    38 
    39   val theory_of_sign: Sign.sg -> theory
    39   val theory_of_sign: Sign.sg -> theory
    40   val theory_of_thm: thm -> theory
    40   val theory_of_thm: thm -> theory
    41   val store_thm: string * thm -> thm
    41   val store_thm: string * thm -> thm
   331      reload_changed (load_order ["Pure"] [])
   331      reload_changed (load_order ["Pure"] [])
   332   end;
   332   end;
   333 
   333 
   334 (*Merge theories to build a base for a new theory.
   334 (*Merge theories to build a base for a new theory.
   335   Base members are only loaded if they are missing. *)
   335   Base members are only loaded if they are missing. *)
   336 fun base_on bases child mk_draft =
   336 fun mk_base bases child mk_draft =
   337       let (*List all descendants of a theory list *)
   337       let (*List all descendants of a theory list *)
   338           fun list_descendants (t :: ts) =
   338           fun list_descendants (t :: ts) =
   339                 let val tinfo = get_thyinfo t
   339                 let val tinfo = get_thyinfo t
   340                 in if is_some tinfo then
   340                 in if is_some tinfo then
   341                      let val ThyInfo {children, ...} = the tinfo
   341                      let val ThyInfo {children, ...} = the tinfo