src/Pure/name_space.ML
changeset 3876 e6f918979f2d
parent 3833 370e845c391f
child 3972 87941982f475
equal deleted inserted replaced
3875:f62a4edb1888 3876:e6f918979f2d
    23   val merge: T * T -> T
    23   val merge: T * T -> T
    24   val lookup: T -> string -> string
    24   val lookup: T -> string -> string
    25   val prune: T -> string -> string
    25   val prune: T -> string -> string
    26 end;
    26 end;
    27 
    27 
    28 structure NameSpace(*: NAME_SPACE FIXME *) =
    28 structure NameSpace: NAME_SPACE =
    29 struct
    29 struct
    30 
    30 
    31 
    31 
    32 (** long identifiers **)
    32 (** long identifiers **)
    33 
    33 
    59 fun entries_of (NameSpace (entries, _)) = entries;
    59 fun entries_of (NameSpace (entries, _)) = entries;
    60 fun tab_of (NameSpace (_, tab)) = tab;
    60 fun tab_of (NameSpace (_, tab)) = tab;
    61 
    61 
    62 fun make entries =
    62 fun make entries =
    63   let
    63   let
    64     fun accesses [] = []		(* FIXME !? *)
    64     fun accesses [] = []
    65       | accesses entry =
    65       | accesses entry =
    66           let
    66           let
    67             val p = pack entry;
    67             val p = pack entry;
    68             val (q, b) = split_last entry;
    68             val (q, b) = split_last entry;
    69             val sfxs = suffixes1 entry;
    69             val sfxs = suffixes1 entry;