#<CompilerException java.lang.Exception: Unsupported binding form: (G__1852 2) (NO_SOURCE_FILE:1182)> So, I'm porting Paul Grahm's condlet macro to clojure. I've done it except when i evaluate it it gives me the above error. However, when I macroexpand-1 it it evaluates fine.
The only difference between evaluating the macroexpansion vs the other way is that the (gensym) vars are now regular variables in the macroexpanded version. However, i don't see how this can affect it. (condlet [((= 2 2) (a 2) (b 3)) ((= 3 4) (a 1) (b 4) (c 34))] (print a)) --> throws error macroexpanded version where lcond is equivalent to a lisp cond and same for llet. This evaluates just fine! (clojure.core/letfn ((G__1840 [a b c] (print a))) (user/lcond ((= 2 2) (user/llet (G__1841 G__1842 G__1843) (user/llet ((G__1841 2) (G__1842 3)) (G__1840 G__1841 G__1842 G__1843)))) ((= 3 4) (user/llet (G__1841 G__1842 G__1843) (user/llet ((G__1841 1) (G__1842 4) (G__1843 34)) (G__1840 G__1841 G__1842 G__1843)))))) What am i missing here? I've heard of this same error with cond-let and the guy changed it due to the 'new everything that lets must have bracket regime'? What's this? --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---