This worked for me (after some experimentation):

(pprint (mexpand-1 '(symbol-macrolet [b (+ 1 2)] b)))

;; (do (+ 1 2))
;; nil


Cheers, 

H

On Saturday, 5 December 2015 07:45:38 UTC, Ritchie Cai wrote:
>
> I'm not sure how to print a macroexpand on macros that defined in macrolet 
> or symbol-macrolet.
>
> with normal macros, I can do:
>
> (defmacro test-macro [] '(+ 1 2))
> (pprint (macroexpand-1 '(test-macro))) 
>
> ;; (+ 1 2)
> ;; nil
>
> but with macrolet or symbol-macrolet:
>
> (symbol-macrolet [(b [] '(+ 1 2))]
>                                (pprint (mexpand-1 '(b))))
>
> ;; (b)
> ;; nil
>
> (symbol-macrolet [(b [] '(+ 1 2))]
>                                (pprint (mexpand-1 (b))))
>
> ;; 3
> ;; nil
>
> what am I doing wrong?
>
> Thanks
> Ritchie
>
>

-- 
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