[Haskell-beginners] Question about class declaration

Rafael Gustavo da Cunha Pereira Pinto RafaelGCPP.Linux at gmail.com
Fri Jul 24 09:53:08 EDT 2009


So, it is a language extension as I predicted. A cool one, by the way.

Thank you all!



On Fri, Jul 24, 2009 at 09:44, Brent Yorgey <byorgey at seas.upenn.edu> wrote:

> On Fri, Jul 24, 2009 at 09:41:34AM -0300, Rafael Gustavo da Cunha Pereira
> Pinto wrote:
> > Hi folks,
> >
> > Once in a while I stumble upon declarations like this:
> >
> > class EditAction e a | e -> a where
> >   apply :: a -> e -> a
> >
> >
> >
> > Why is the vertical bar there? I understand that => defines a context,
> but
> > can't find what is the "|" for.
>
> It's a functional dependency: the e -> a means that the type e
> determines the type a, that is, there can only be one instance of
> EditAction for any particular type e.
>
> -Brent
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>



-- 
Rafael Gustavo da Cunha Pereira Pinto
Electronic Engineer, MSc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20090724/ea716dba/attachment.html


More information about the Beginners mailing list