What's your current condlet definition ?

2009/9/8 Gorsal <s...@tewebs.com>

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

Reply via email to