equal
deleted
inserted
replaced
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 |