src/HOL/Tools/Predicate_Compile/code_prolog.ML
changeset 43324 2b47822868e4
parent 42489 db9b9e46131c
child 43735 9b88fd07b912
equal deleted inserted replaced
43323:28e71a685c84 43324:2b47822868e4
   203     fun dest_Char (Symbol.Char c) = c
   203     fun dest_Char (Symbol.Char c) = c
   204     val name' = space_implode "" (map (dest_Char o Symbol.decode)
   204     val name' = space_implode "" (map (dest_Char o Symbol.decode)
   205       (filter (fn s => Symbol.is_ascii_letter s orelse Symbol.is_ascii_digit s)
   205       (filter (fn s => Symbol.is_ascii_letter s orelse Symbol.is_ascii_digit s)
   206         (Symbol.explode name)))
   206         (Symbol.explode name)))
   207     val name'' = f (if name' = "" then empty else name')
   207     val name'' = f (if name' = "" then empty else name')
   208   in (if member (op =) avoid name'' then Name.variant avoid name'' else name'') end
   208   in if member (op =) avoid name'' then singleton (Name.variant_list avoid) name'' else name'' end
   209 
   209 
   210 (** constant table **)
   210 (** constant table **)
   211 
   211 
   212 type constant_table = (string * string) list
   212 type constant_table = (string * string) list
   213 
   213