[CLJ-889] Specifically allow '.' inside keywords Created: 01/Dec/11 Updated: 15/Apr/13
|Fix Version/s:||Reviewed Backlog|
|Reporter:||Howard Lewis Ship||Assignee:||Unassigned|
The documentation for keywords (on page http://clojure.org/reader) specifically states that '.' is not allowed as part of a keyword name; however '.' is specifically useful. For example, several web frameworks for Clojure use keywords to represent HTML elements, using CSS selector syntax (i.e., :div.important is equivalent to <div class='important'>).
In any case, the use of '.' is not checked by the reader and it is generally useful.
I would like to see '.' officially allowed (in the documentation). Further, I'd like to see additional details about which punctuation characters are allowed (my own web framework uses '&', '?' and '>' inside keywords for various purposes ... again, current reader implementation does not forbid this, but if a future reader will reject it, I'd like to know now).
|Comment by Howard Lewis Ship [ 08/Dec/11 3:37 PM ]|
To clarify, Hiccup and Cascade both use keywords containing '#' and '.' Cascade goes further, using '&' (to represent HTML entities), '>', and (possibly in the future) '?'.
|Comment by Devin Walters [ 20/Oct/12 6:46 PM ]|
I think the EDN spec mitigates some of the concern, but as of yet the official clojure.org reader documentation does not reflect the language used in the description of EDN. Where does EDN stand right now? Can the description being used on the github page be pulled over to clojure.org?
|Comment by Howard Lewis Ship [ 15/Apr/13 5:56 AM ]|
Unfortunately, the EDN specification does not mention '>'.