Map entries become vectors when piped thru a macro
Posted
by
Gavin Grover
on Stack Overflow
See other posts from Stack Overflow
or by Gavin Grover
Published on 2013-10-27T08:42:58Z
Indexed on
2013/10/27
9:54 UTC
Read the original article
Hit count: 250
clojure
In Clojure, a map entry created within a macro is preserved...
(class (eval `(new clojure.lang.MapEntry :a 7)))
;=> clojure.lang.MapEntry
...but when piped thru from the outside context collapses to a vector...
(class (eval `~(new clojure.lang.MapEntry :a 7)))
;=> clojure.lang.PersistentVector
This behavior is defined inside LispReader.syntaxQuote(Object form)
condition if(form instanceof IPersistentCollection)
.
Does anyone know if this is intended behavior or something that will be fixed?
© Stack Overflow or respective owner