I'm trying to understand the difference between these. Is it that
macros expanded by macroexpand-1 could result in calls to additional
macros that won't be expanded, but macroexpand will continue expanding
until no macro calls remain?

It tried:
(macroexpand-1 '(or (< 2 1) (< 3 2) (< 1 2)))

which output:
(clojure.core/let [or__2940 (< 2 1)] (if or__2940 or__2940
(clojure.core/or (< 3 2) (< 1 2))))

Then I tried:
(macroexpand '(or (< 2 1) (< 3 2) (< 1 2)))

which output almost the same thing:
(let* [or__2940 (< 2 1)] (if or__2940 or__2940 (clojure.core/or (< 3
2) (< 1 2))))

What is "let*"?  (doc let*) doesn't know about it.

-- 
R. Mark Volkmann
Object Computing, Inc.

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

Reply via email to