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@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@haskell.org
http://www.haskell.org/mailman/listinfo/beginners



--
Rafael Gustavo da Cunha Pereira Pinto
Electronic Engineer, MSc.