Map returns a lazy seq (which I suspect you already knew). Try it with
doall instead of do. The "do" only wraps the map expression, it
doesn't actually realize the seq.

On Fri, Oct 15, 2010 at 11:39 AM, bleibmoritztreu <jlewa...@uos.de> wrote:
> Hi group,
>
> I'm playing around with Clojure for a few weeks now and quite like it.
> Today however I noticed one thing which puzzles me a lot, and maybe
> points at something very basic I've misunderstood, so I wanted to ask
> here:
>
> Why doesn't
> (do (map #(throw (Exception. %)) '("a")) true)
> throw any Exception?
>
> It seems to me that it is because of the combination of do and map,
> since they alone behave like I would expect:
>
> (map #(throw (Exception. %)) '("a"))
> throws an Exception and so does
> (do (throw (Exception. "a") true)
>
> Does anybody have a good explanation for me?
>
> Thanks a lot,
>
> Jirka
>
>
> P.S.: Sorry, I have submitted this post in an incomplete version a few
> minutes ago...
>
> --
> 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 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