Because expressions are treated as guards in list comprehensions.  I.e.:

  [ foo | x <- a, b, y <- c, d ]

Is interpreted as:

  do x <- a
     guard b
     y <- c
     guard d
     return foo

Luke
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to