Parallel list comprehensions

Jon Fairbairn jf at
Sat Feb 4 13:31:56 EST 2006

On 2006-02-04 at 15:11+0100 John Hughes wrote:
> I noticed ticket #55--add parallel list comprehensions--which according to
> the ticket, will probably be adopted. I would argue against.

I also agree. 

> Firstly: because in its more general forms the notation is confusing. Try
> this example:
>  [(i,j,k) | i<-[1..3], j<-[1..3] | k <- [1..9]]
> In general it's hard to predict how the elements from each
> set of generators and filters will match up.

and I always think it's going to do something cooler -- a
"fair" list product (like "," only working on infinite lists),
not a zip, and then I'm disappointed when I remember it
doesn't. So it just uses up some syntax (ie adds possible
errors) without adding anything really useful.

There ought to be a list_product somewhere (I mean [1..]
`list_product` [4..] ==
[(1,4),(2,4),(1,5),(3,4),(2,5),(1,6),...]). Is there?


Jón Fairbairn                              Jon.Fairbairn at

More information about the Haskell-prime mailing list