On Oct 19, 8:18 am, Rob Lachlan <robertlach...@gmail.com> wrote: > I see, thank you for linking to the ticket, Phil that really clarifies > things. I suppose that I would tend more to Chas Emerick's view in > his sept 28 comment (on the ticket), questioning whether there is a > need to validate Keywords (and possibly symbols) stringently. But > I'll take your point that we shouldn't count on the current behaviour > continuing.
FWIW, in Common Lisp no validation is done on symbol names; they can be arbitrary strings. Strictly speaking, the reader doesn't validate them, either, but in order to parse them it has to place some restrictions, e.g. to disallow ambiguous strings like foo::bar:baz. However, the CL reader allows one to quote characters in symbol names, so you can effectively intern any string with it: for example, foo::| abCDef gh:123::@&"| is a valid symbol in the FOO package. Personally I don't see any value in restricting what can be interned; symbols are not necessarily only used as keyword or variable names. However, consistency between how a symbol is printed and how it is read back in is important. In Clojure, also, Java interop could be a problem in principle if Clojure symbols are to be used as class, method or field names; however, in such cases the problem can be solved locally, by disallowing certain symbols when compiling to a Java class, or by mangling them. Cheers, Alessio -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en