
If you're ready to write a lambda expression why not you just say:
zipWith (\ x y -> Stuff x y ) nums strs
Yet now this one naturally reduces to Stephen's version. Go with that one :)
On Tuesday, March 16, 2010, Tim Perry
Stephen's version is cleaner, but this works too: map (\(x, y) -> Stuff x y) $ zip nums strs
----- Original Message ---- From: Stephen Tetley
To: Szilveszter Juhos Cc: Beginners@haskell.org Sent: Tue, March 16, 2010 2:09:51 AM Subject: Re: [Haskell-beginners] generating by mapping Hi Szilveszter
zipWith is probably what you are after...
zipWith Stuff nums strs [Stuff {aNum = 123, anStr = "qwe"},Stuff {aNum = 321, anStr = "asd"},Stuff {aNum = 345, anStr = "zxc "}]
Note zipWith (and the function zip which it generalizes) go 'short' - i.e. if one of the input lists is shorter than the other - the size of the result list will the size of of the shorter one:
zipWith Stuff [1] strs [Stuff {aNum = 1, anStr = "qwe"}]
Best wishes
Stephen _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- Ozgur Akgun