Generics... no Tuples > 2 either...

Any chance of Data instances for tuples of size greater than 2... One of the nice things about generics is you can use them by deriving Data on your datatypes - of course this doesn't work if you all of a sudden have to put a load of boiler-plate in just to use tuples... Regards, Keean Schupke

I've been frustrated by the same lack of instances; as a stopgap, here's
one for a three-tuple. The pattern is pretty clear and can easily be
extended to whatever size you'd like.
tupCon = mkConstr 1 "(,,)" Prefix
instance (Data a, Data b, Data c) => Data (a, b ,c) where
gfoldl k z (a, b, c) = ((z (,,) `k` a) `k` b) `k` c
toConstr _ = tupCon
fromConstr _ = (undefined, undefined, undefined)
dataTypeOf _ = mkDataType [tupCon]
MR K P SCHUPKE
Any chance of Data instances for tuples of size greater than 2... One of the nice things about generics is you can use them by deriving Data on your datatypes - of course this doesn't work if you all of a sudden have to put a load of boiler-plate in just to use tuples...
Regards, Keean Schupke _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
participants (2)
-
Abraham Egnor
-
MR K P SCHUPKE