[Haskell-cafe] template haskell for typeclass synonyms

Paolino paolo.veronelli at gmail.com
Tue Nov 2 04:52:36 EDT 2010


It's first time I use TH. It would be nice to point out the motivations for
using it.
If everything TH does is doable without it, the point of using it is write
less code, eliminating some necessary and automatically computable code.
But I guess there is some more .....

paolino

2010/11/2 Antoine Latter <aslatter at gmail.com>

> 2010/11/1 Paolino <paolo.veronelli at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20101102/1fc50d39/attachment.html


More information about the Haskell-Cafe mailing list