Comments from Colin Jones.

This is a symptom of how REPLy handles "unexpected" nodes that sjacket 
provides (and sjacket saying that :#abc is not a keyword). REPLy started to 
use sjacket for parsing input forms in 0.1.0 (final; not the betas), to 
handle situations like reader literals and read-eval that require the full 
execution context (which therefore need to execute remotely via nREPL).

If there's an unexpected node, REPLy throws up its hands and ships the 
input off to nREPL. This appears to work fine when the input is complete, 
I'd expect due to coincidence in the reader's implementation. I agree with 
Ambrose; it's not promised to be a valid symbol or keyword by any 
documentation I can find. Another hint is https://github.com/edn-format/edn, 
where there's more specification of what characters a valid symbol/keyword 
can contain:

##### from EDN spec
Symbols begin with a non-numeric character and can contain alphanumeric 
characters and . * + ! - _ ? $ % & =. If -, + or . are the first character, 
the second character must be non-numeric. Additionally, : # are allowed as 
constituent characters in symbols other than as the first character.
#####

So I think sjacket is doing the correct thing in this situation by saying 
the input is unexpected/incorrect, and that this input working in the 
reader itself is not by design.

Note that this problem does not exist where the keyword in question is :a#bc

user=> (let [v :a#bc]
  #_=> v)
:a#bc

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to