
On 12/04/2008, Thomas van Noort
That's a good question. Unfortunately, only Haskell98 types are currently supported by the Generic Haskell compiler.
I thought constrained types were Haskell 98, but now I'm in doubt...
But at first sight, implementing support for parametric types with class constraints is not too hard. Class constraints of a parametric type need to be propagated to its generated structure type.
Certainly, but there are a few difficulties for higher-kinded types. An arguable solution: http://portal.acm.org/citation.cfm?id=1159868 The reason I mention this is because Scrap your Boilerplate supports them whereas GH does not, and I'm not aware this has been taken into account when comparing these two approaches in the work cited by Bulat on this thread.