src/Pure/General/name_space.ML
changeset 21914 77372f38aa98
parent 21858 05f57309170c
child 21962 279b129498b6
equal deleted inserted replaced
21913:1224048fb8f9 21914:77372f38aa98
    26   val explode: string -> string list
    26   val explode: string -> string list
    27   val append: string -> string -> string
    27   val append: string -> string -> string
    28   val qualified: string -> string -> string
    28   val qualified: string -> string -> string
    29   val base: string -> string
    29   val base: string -> string
    30   val qualifier: string -> string
    30   val qualifier: string -> string
       
    31   val split: string -> string * string
    31   val map_base: (string -> string) -> string -> string
    32   val map_base: (string -> string) -> string -> string
    32   val suffixes_prefixes: 'a list -> 'a list list
    33   val suffixes_prefixes: 'a list -> 'a list list
    33   val suffixes_prefixes_split: int -> int -> 'a list -> 'a list list
    34   val suffixes_prefixes_split: int -> int -> 'a list -> 'a list list
    34   val accesses: string -> string list
    35   val accesses: string -> string list
    35   val accesses': string -> string list
    36   val accesses': string -> string list
    85   | base name = List.last (explode_name name);
    86   | base name = List.last (explode_name name);
    86 
    87 
    87 fun qualifier "" = ""
    88 fun qualifier "" = ""
    88   | qualifier name = implode_name (#1 (split_last (explode_name name)));
    89   | qualifier name = implode_name (#1 (split_last (explode_name name)));
    89 
    90 
       
    91 fun split "" = ("", "")
       
    92   | split name = (apfst implode_name o split_last o explode_name) name;
       
    93 
    90 fun map_base _ "" = ""
    94 fun map_base _ "" = ""
    91   | map_base f name =
    95   | map_base f name =
    92       let val names = explode_name name
    96       let val names = explode_name name
    93       in implode_name (nth_map (length names - 1) f names) end;
    97       in implode_name (nth_map (length names - 1) f names) end;
    94 
    98