I think I understand what you are trying to do John but it doesn't
have the same semantics though.

If you use the first definition, the following expression:

(let-while [x (if (> (rand) 0.2) "Yep!" nil)] (println x) (println
(str x))))

will work correctly (it will print "Yep!" and "Yep!Yep!" zero or more
times when called).

If you use the 2nd macro definition, the x value will not be bound to
the result of the (if ...) expression => (println x) will trigger a
"Unable to resolve symbol: x" error.

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

Reply via email to