[Haskell-cafe] Newbie question about tuples
peterv
bf3 at telenet.be
Thu Jul 12 03:51:56 EDT 2007
Hi,
I have a couple of questions about tuples.
Q1) Is it possible to treat a tuple of N elements in a generic way? So
instead of writing functions like lift1 e1, lift2 (e1,e2), lift3 (e1,e2,e3)
just one function liftN that works on tuples of any length?
Q2) (Maybe related to Q1) Can I convert a tuple of length N to a
heterogeneous list (using "forall" aka existentially quantified types) and
vice versa?
Q3) Suppose I want to declare an instance of Num on all tuple types having
(Num instances) as elements; is this possible?
I tried
instance Num a => Num (a,a) where .
but this fails
I also tried
instance Num a => Num ((,) a a) where .
but that also fails.
I can of course create a new type like
newtype Num a => Vector2 a = Vector2 (a,a)
and then create an instance for Vector2, but I was wondering if it would be
possible without introducing a new type.
Thanks,
Peter
More information about the Haskell-Cafe
mailing list