Hi all,

I'm writing a macro and hit an issue with concrete types. I extracted
the code into a minimum macro that exposes the issue below:


(defmacro my-macro [arg]
  (prn (type arg)))

(macroexpand-1 '(my-macro #((complement nil?) %)))
;; clojure.lang.PersistentList

(my-macro #((complement nil?) %))
;;clojure.lang.Cons


As you can see, when using macroexpand-1, the type of the arg is
clojure.lang.PersistentList.

However, when actually executing the macro, the type is clojure.lang.Cons

Is this behaviour expected?


Cheers,
Leonardo Borges
www.leonardoborges.com

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to