added split
authorhaftmann
Wed, 27 Dec 2006 19:10:05 +0100
changeset 21914 77372f38aa98
parent 21913 1224048fb8f9
child 21915 4e63c55f4cb4
added split
src/Pure/General/name_space.ML
--- a/src/Pure/General/name_space.ML	Wed Dec 27 19:10:04 2006 +0100
+++ b/src/Pure/General/name_space.ML	Wed Dec 27 19:10:05 2006 +0100
@@ -28,6 +28,7 @@
   val qualified: string -> string -> string
   val base: string -> string
   val qualifier: string -> string
+  val split: string -> string * string
   val map_base: (string -> string) -> string -> string
   val suffixes_prefixes: 'a list -> 'a list list
   val suffixes_prefixes_split: int -> int -> 'a list -> 'a list list
@@ -87,6 +88,9 @@
 fun qualifier "" = ""
   | qualifier name = implode_name (#1 (split_last (explode_name name)));
 
+fun split "" = ("", "")
+  | split name = (apfst implode_name o split_last o explode_name) name;
+
 fun map_base _ "" = ""
   | map_base f name =
       let val names = explode_name name