I think Artur described it well. I don't think the docs are wrong. The thing is 
just understanding that the reader macro syntax is interpreted by the reader. 
The reader comes before the evaluation of the compiler (there is grey area here 
with read-eval but that's another topic). 

Since a symbol is auto-resolved by the compiler during eval you have to quote 
them if you want to prevent that. Due to that it makes using a reader macro 
with a symbol awkward, but it makes sense if you think about it. The reader 
macro must apply to the symbol literal form itself. Then you surround the 
returned symbol with quote to prevent the compiler from resolving through it 
post-reading. Putting the metadata outside the quote is just attaching it to a 
list for, from the readers perspective. It doesn't know it is a quote etc. 

-- 
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/d/optout.

Reply via email to