src/Pure/General/path.ML
changeset 56533 cd8b6d849b6a
parent 56136 81c66d9e274b
child 59363 4660b0409096
equal deleted inserted replaced
56532:3da244bc02bd 56533:cd8b6d849b6a
    15   val parent: T
    15   val parent: T
    16   val basic: string -> T
    16   val basic: string -> T
    17   val variable: string -> T
    17   val variable: string -> T
    18   val is_absolute: T -> bool
    18   val is_absolute: T -> bool
    19   val is_basic: T -> bool
    19   val is_basic: T -> bool
       
    20   val starts_basic: T -> bool
    20   val append: T -> T -> T
    21   val append: T -> T -> T
    21   val appends: T list -> T
    22   val appends: T list -> T
    22   val make: string list -> T
    23   val make: string list -> T
    23   val implode: T -> string
    24   val implode: T -> string
    24   val explode: string -> T
    25   val explode: string -> T
    90     SOME (Root _) => true
    91     SOME (Root _) => true
    91   | _ => false);
    92   | _ => false);
    92 
    93 
    93 fun is_basic (Path [Basic _]) = true
    94 fun is_basic (Path [Basic _]) = true
    94   | is_basic _ = false;
    95   | is_basic _ = false;
       
    96 
       
    97 fun starts_basic (Path xs) =
       
    98   (case try List.last xs of
       
    99     SOME (Basic _) => true
       
   100   | _ => false);
    95 
   101 
    96 
   102 
    97 (* append and norm *)
   103 (* append and norm *)
    98 
   104 
    99 fun apply (y as Root _) _ = [y]
   105 fun apply (y as Root _) _ = [y]