
1 Nov
2010
1 Nov
'10
7:12 p.m.
2010/11/1 Paolino
I think I've got something nice in the end.
http://hpaste.org/41042/classsynonymhs
example:
class ( ParteDi (Servizio a) s , Read a , Eq a , Show a , Integer `ParteDi` s ) ⇒ SClass s a
$(classSynonym ''SClass)
ghci ":i SClass" command is printing some strange type variables but it compiles
Template Haskell might be overkill for this. In the past, I've done:
class (Eq b, Show b, MyClass b, MyOtherClass b) => MySynonym b instance (Eq b, Show b, MyClass b, MyOtherClass b) => MySynonym b
I think this requires a couple of GHC extensions, but TemplateHaskell is an extension as well. Maybe there are pitfalls with this approach. Antoine