TH has supported multi-parameter classes for a while... new in 6.4 is support for fundeps. Keean. Benjamin Franksen wrote:
Two clarifications:
On Saturday 19 February 2005 22:33, Benjamin Franksen wrote:
instance RecordField R Label_field1 T1 where getField (Rec x _) _ = x putField (Rec _ y) _ v = Rec v x
s/Rec/R/
I wonder if something similar could be done with TH. The labels would need to have a different name (e.g. l_field1, l_field2), so they don't collide with their Haskell98 definitions, but otherwise everything should be as above.
What I mean is: keep the record syntax and everything as it is now, but additionally use TH in order derive the corresponding first class labels as indicated above. The question is if a function 'generateLabels' can be defined with TH. I remember darkly that TH is (or once was) restricted to Haskell98, and so cannot be used to generate multi parameter class instances.
Ben _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell