src/Pure/name.ML
changeset 28737 8cbb7cfcfb5b
parent 28725 4a71cc58b203
child 28792 1d80cee865de
equal deleted inserted replaced
28736:b1fd60fee652 28737:8cbb7cfcfb5b
    36   val name_of: binding -> string
    36   val name_of: binding -> string
    37   val pos_of: binding -> Position.T
    37   val pos_of: binding -> Position.T
    38   val add_prefix: bool -> string -> binding -> binding
    38   val add_prefix: bool -> string -> binding -> binding
    39   val map_name: (string -> string) -> binding -> binding
    39   val map_name: (string -> string) -> binding -> binding
    40   val qualified: string -> binding -> binding
    40   val qualified: string -> binding -> binding
       
    41   val output: binding -> string
    41 end;
    42 end;
    42 
    43 
    43 structure Name: NAME =
    44 structure Name: NAME =
    44 struct
    45 struct
    45 
    46 
   169   (cons (prfx, sticky));
   170   (cons (prfx, sticky));
   170 
   171 
   171 val map_name = map_binding o apfst o apsnd;
   172 val map_name = map_binding o apfst o apsnd;
   172 val qualified = map_name o NameSpace.qualified;
   173 val qualified = map_name o NameSpace.qualified;
   173 
   174 
       
   175 fun output (Binding ((prefix, name), _)) =
       
   176   if null prefix orelse name = "" then name
       
   177   else NameSpace.implode (map fst prefix) ^ " / " ^ name;
       
   178 
   174 end;
   179 end;