[Haskell-cafe] Tupling functions
cdsmith at gmail.com
Wed Sep 14 03:44:20 CEST 2011
On Wed, 2011-09-14 at 13:35 +1200, Richard O'Keefe wrote:
> I would like to have
> tuple (f1,f2) x = (f1 x, f2 x)
> tuple (f1,f2,f3) x = (f1 x, f2 x, f3 x)
> tuple (f1,f2,f3,f4) x = (f1 x, f2 x, f3 x, f4 x)
> I'm aware of Control.Arrow and the &&& combinator, and I can use that
> instead, but f1 &&& f2 &&& f3 doesn't have _exactly_ the type I want.
> What should I do?
There is no polymorphism across tuple structures, so if you absolutely
*must* have n-tuples instead of nested 2-tuples, then you just need to
implement the new functions as needed. You can't implement that only
once. Plenty of places in base do this, especially for instances.
More information about the Haskell-Cafe