src/Pure/sign.ML
changeset 6845 598d2f32d452
parent 6546 995a66249a9b
child 6961 4d404c52ca80
equal deleted inserted replaced
6844:3909657a7da6 6845:598d2f32d452
    53   val full_name_path: sg -> string -> bstring -> string
    53   val full_name_path: sg -> string -> bstring -> string
    54   val base_name: string -> bstring
    54   val base_name: string -> bstring
    55   val intern: sg -> string -> xstring -> string
    55   val intern: sg -> string -> xstring -> string
    56   val extern: sg -> string -> string -> xstring
    56   val extern: sg -> string -> string -> xstring
    57   val cond_extern: sg -> string -> string -> xstring
    57   val cond_extern: sg -> string -> string -> xstring
       
    58   val cond_extern_table: sg -> string -> 'a Symtab.table -> (xstring * 'a) list
    58   val intern_class: sg -> xclass -> class
    59   val intern_class: sg -> xclass -> class
    59   val intern_tycon: sg -> xstring -> string
    60   val intern_tycon: sg -> xstring -> string
    60   val intern_const: sg -> xstring -> string
    61   val intern_const: sg -> xstring -> string
    61   val intern_sort: sg -> xsort -> sort
    62   val intern_sort: sg -> xsort -> sort
    62   val intern_typ: sg -> xtyp -> typ
    63   val intern_typ: sg -> xtyp -> typ
   408 
   409 
   409 (*input and output of qualified names*)
   410 (*input and output of qualified names*)
   410 fun intrn spaces kind = NameSpace.intern (space_of spaces kind);
   411 fun intrn spaces kind = NameSpace.intern (space_of spaces kind);
   411 fun extrn spaces kind = NameSpace.extern (space_of spaces kind);
   412 fun extrn spaces kind = NameSpace.extern (space_of spaces kind);
   412 fun cond_extrn spaces kind = NameSpace.cond_extern (space_of spaces kind);
   413 fun cond_extrn spaces kind = NameSpace.cond_extern (space_of spaces kind);
       
   414 fun cond_extrn_table spaces kind tab = NameSpace.cond_extern_table (space_of spaces kind) tab;
   413 
   415 
   414 (*add names*)
   416 (*add names*)
   415 fun add_names spaces kind names =
   417 fun add_names spaces kind names =
   416   let val space' = NameSpace.extend (space_of spaces kind, names) in
   418   let val space' = NameSpace.extend (space_of spaces kind, names) in
   417     overwrite (spaces, (kind, space'))
   419     overwrite (spaces, (kind, space'))
   469     map_typ I (mapping (intrn spaces typeK) add_typ_tycons T) T;
   471     map_typ I (mapping (intrn spaces typeK) add_typ_tycons T) T;
   470 
   472 
   471   val intern = intrn o spaces_of;
   473   val intern = intrn o spaces_of;
   472   val extern = extrn o spaces_of;
   474   val extern = extrn o spaces_of;
   473   val cond_extern = cond_extrn o spaces_of;
   475   val cond_extern = cond_extrn o spaces_of;
       
   476   fun cond_extern_table sg = cond_extrn_table (spaces_of sg);
   474 
   477 
   475   val intern_class = intrn_class o spaces_of;
   478   val intern_class = intrn_class o spaces_of;
   476   val intern_sort = intrn_sort o spaces_of;
   479   val intern_sort = intrn_sort o spaces_of;
   477   val intern_typ = intrn_typ o spaces_of;
   480   val intern_typ = intrn_typ o spaces_of;
   478   val intern_term = intrn_term o spaces_of;
   481   val intern_term = intrn_term o spaces_of;