2010/11/1 Paolino <paolo.verone...@gmail.com>:
> 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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to