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)

--
Met vriendelijke groet,
Henk-Jan van Tuyl


--
http://Van.Tuyl.eu/
--

Using Opera's revolutionary e-mail client:
https://secure.bmtmicro.com/opera/buy-opera.html?AID=789433

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to