"When a macro expands to case inside of a go-block, it appears that
the _ELSE_ clause of the case is always run. (Even after a previous
clause has matched.)"

Thanks, I'll get a test in the project for this, it'll probably be fixed in
the next alpha release. Until then, cond or condp might work?

Timothy


On Tue, Feb 18, 2014 at 1:40 PM, t x <txrev...@gmail.com> wrote:

> @Thomas:
> (this is completely unrelated to the actual bug)
>
>   This particular code was "simplified" from a more complicated macro
> -- where for the else clause, I want to capture the original value, so
> it would be something like:
>
>
>   (silly obj
>     :dog dog-line
>     cat cat-line) ==>
>
>   (case (:tag obj)
>      :dog dog-line
>       (let [cat obj] cat-line ))
>
>   However, in "simplifying" the example, parts of the macro was
> removed, and thus it appears that we have this dangling cat symbol.
>
>
>
>
>
> On Tue, Feb 18, 2014 at 12:09 PM, Thomas Heller <th.hel...@gmail.com>
> wrote:
> > Well, while case allows for symbols it still doesn't make sense to use it
> > except :tag switches between keywords and symbols to. Apart from that cat
> > "pat2" is never actually used.
> >
> > (defmacro silly [object pat1 body1 pat2 body2]
> >   `(case (:tag ~object)
> >      ~pat1 ~body1
> >      ~body2))
> >
> >
> >
> > But as Timothy said its probably related to case, so I'll shut up.
> >
> > On Tuesday, February 18, 2014 8:20:07 PM UTC+1, Ben wrote:
> >>
> >> On Tue, Feb 18, 2014 at 11:18 AM, Thomas Heller <th.h...@gmail.com>
> wrote:
> >>>
> >>> While I haven't tested the code, I can see one "obvious" mistake.
> >>>
> >>> https://github.com/txrev319/bug-report/blob/master/src/app.cljx#L20
> >>>
> >>> "cat" is undefined?
> >>>
> >>
> >> That isn't a mistake. `silly` expands into a case, which expects bare
> >> symbols.
> >>
> >> --
> >> Ben Wolfson
> >> "Human kind has used its intelligence to vary the flavour of drinks,
> which
> >> may be sweet, aromatic, fermented or spirit-based. ... Family and social
> >> life also offer numerous other occasions to consume drinks for
> pleasure."
> >> [Larousse, "Drink" entry]
> >>
> > --
> > 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/groups/opt_out.
>
> --
> 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/groups/opt_out.
>



-- 
"One of the main causes of the fall of the Roman Empire was that-lacking
zero-they had no way to indicate successful termination of their C
programs."
(Robert Firth)

-- 
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/groups/opt_out.

Reply via email to