Hi Danilo, > : (setq v1 (intern "12")) > -> 12 > : # I expected \1\2 > : (sym? v1) > -> T
Yup, that's right. As a rule, only certain characters, which cannot be used directly in internal symbol names like delimiters, white space, markup characters, are escaped with '\'. The "meaning" of the total symbol name cannot be considered by the printer. > : (setq v2 \1\2) > -> 12 > : (sym? v2) > -> NIL > : # I expected a symbol. > : (num? v2) > -> 12 This is a similar, though opposite, case. The escape is processed on the character-level. If you need a general and consistent marshalling, you could consider the PLIO functionality ('pr' and 'rd', also used internally in the database and inter-process communications) of PicoLisp. It doesn't look at the lexical appearance of the data, but directly on the internal structures. ♪♫ Alex -- UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe