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. -- Chris Smith _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe