src/Pure/Isar/locale.ML
changeset 42358 b47d41d9f4b5
parent 41435 12585dfb86fe
child 42360 da8817d01e7c
equal deleted inserted replaced
42357:3305f573294e 42358:b47d41d9f4b5
   160   val extend = I;
   160   val extend = I;
   161   val merge = Name_Space.join_tables (K merge_locale);
   161   val merge = Name_Space.join_tables (K merge_locale);
   162 );
   162 );
   163 
   163 
   164 val intern = Name_Space.intern o #1 o Locales.get;
   164 val intern = Name_Space.intern o #1 o Locales.get;
   165 val extern = Name_Space.extern o #1 o Locales.get;
   165 fun extern thy = Name_Space.extern (ProofContext.init_global thy) (#1 (Locales.get thy));
   166 
   166 
   167 val get_locale = Symtab.lookup o #2 o Locales.get;
   167 val get_locale = Symtab.lookup o #2 o Locales.get;
   168 val defined = Symtab.defined o #2 o Locales.get;
   168 val defined = Symtab.defined o #2 o Locales.get;
   169 
   169 
   170 fun the_locale thy name =
   170 fun the_locale thy name =
   628 (*** diagnostic commands and interfaces ***)
   628 (*** diagnostic commands and interfaces ***)
   629 
   629 
   630 val all_locales = Symtab.keys o snd o Locales.get;
   630 val all_locales = Symtab.keys o snd o Locales.get;
   631 
   631 
   632 fun print_locales thy =
   632 fun print_locales thy =
   633   Pretty.strs ("locales:" :: map #1 (Name_Space.extern_table (Locales.get thy)))
   633   Pretty.strs ("locales:" ::
       
   634     map #1 (Name_Space.extern_table (ProofContext.init_global thy) (Locales.get thy)))
   634   |> Pretty.writeln;
   635   |> Pretty.writeln;
   635 
   636 
   636 fun print_locale thy show_facts raw_name =
   637 fun print_locale thy show_facts raw_name =
   637   let
   638   let
   638     val name = intern thy raw_name;
   639     val name = intern thy raw_name;