after_new_theory : (string * string -> unit) -> unit
- fun every8 s (a::b::c::d::e::f::g::h::rst) = a::b::c::d::e::f::g::h::s::every8 s rst | every8 s otherwise = otherwise; > val 'a every8 = fn : 'a -> 'a list -> 'a list - after_new_theory (fn (old,s) => (print ("Ancestors of "^s^":\n "); print (String.concat (every8 "\n " (commafy (ancestry s)))); print ".\n")); > val it = () : unit - new_theory"foo"; <<HOL message: Created theory "foo">> Ancestors of foo: one, option, pair, sum, combin, relation, min, bool, num, prim_rec, arithmetic, numeral, ind_type, list. > val it = () : unit - new_theory"bar"; Exporting theory "foo" ... done. <<HOL message: Created theory "bar">> Ancestors of bar: one, option, pair, sum, combin, relation, min, bool, num, prim_rec, arithmetic, numeral, ind_type, list, foo. > val it = () : unit