On Wed, May 30, 2007 at 05:12:48PM +0200, Henk-Jan van Tuyl wrote: > On Wed, 30 May 2007 09:38:10 +0200, Tomasz Zielonka > <[EMAIL PROTECTED]> wrote: > >On Tue, May 29, 2007 at 09:43:03PM +0100, Andrew Coppin wrote: > >>Henning Thielemann wrote: > >>>On Sun, 27 May 2007, Andrew Coppin wrote: > >>>>But every now and then I discover an expression which is > >>>>apparently not expressible without them - which is odd, > >>>>considering they're only "sugar"... > >>> > >>>Example? > >> > >>Until I learned the trick of using lists as monads, I was utterly > >>perplexed as to how to get a Cartesian product > > > >This is far from not expressible: > > cart xs ys = concatMap (\x -> map ((,) x) ys) xs > > A bit simpler is: > cart xs ys = [(x, y) | x <- xs, y <- ys] > > or: > cart xs ys = > do > x <- xs > y <- ys > return (x, y)
I was responding to Andrew saying that computing cartesian product is apparently not expressible without list comprehensions. Best regards Tomek _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe