On Sat, Dec 27, 2008 at 11:01 PM, wubbie <sunj...@gmail.com> wrote:
>
> Hi,
> Why are they different?
>
> (take 100 (for [x  (range 1000) y (range 1000) (< x y)][x y]))
>  (take 100 (for [x  (range 1000) y (range 1000) :when (< x y)][x y]))

Based on the doc string I think the first one should be a syntax
error.  The (< x y) seems to be ignored:

user=> (take 10 (for [x (range 1000) y (range 1000) this-is-ignored][x y]))
([0 0] [0 1] [0 2] [0 3] [0 4] [0 5] [0 6] [0 7] [0 8] [0 9])
user=>

The doc string implies that you should use :when expr, :while expr or
nothing at all for the filtering expression.

-- 
Michael Wood <esiot...@gmail.com>

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