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 <[EMAIL PROTECTED]> writes:
>
>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
>[EMAIL PROTECTED]
>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>



_______________________________________________
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to