On Jun 9, 2015, at 3:51 PM, Leon Grapenthin <grapenthinl...@gmail.com> wrote: > Syntactically though, one could worry that the additional bindings would be > read as regular let bindings and worry about the language clarity.
One of the main points that I seem to recall from previous discussions has been around the actual behavior of this sort of code (if it was allowed): (if-let [a (some-a-fn) b (some-b-fn) c (some-c-fn)] (some-t-fn) (some-f-fn)) Should it short-circuit as soon as one of `a`, `b`, or `c` is falsey? Should it evaluate all three and require all three to be truthy? Should it evaluate all three and base the test on just the last one (a reasonable alternative semantic)? If `a` is truthy and `b` is falsey, why shouldn’t `a` be available in the false arm of the `if`? And, related, should the `b` and `c` expressions have access to the (truthy) values of `a`? There are arguments in favor of (and against) each position and thus no clear consensus on what to choose. Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ "Perfection is the enemy of the good." -- Gustave Flaubert, French realist novelist (1821-1880) -- 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.