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

Abraham Egnor aegnor at antioch-college.edu
Thu Feb 26 14:18:22 EST 2004


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 <k.schupke at imperial.ac.uk> 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
>Glasgow-haskell-users at haskell.org
>http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>





More information about the Glasgow-haskell-users mailing list