[Haskell-cafe] Language extensions
Henk-Jan van Tuyl
hjgtuyl at chello.nl
Wed May 30 11:12:48 EDT 2007
On Wed, 30 May 2007 09:38:10 +0200, Tomasz Zielonka
<tomasz.zielonka at gmail.com> 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
More information about the Haskell-Cafe
mailing list