
30 May
2011
30 May
'11
5:17 p.m.
On 30 May 2011 20:35, Christopher Howard
class (Monad m) => MonadError e m | m -> e where throwError :: e -> m a catchError :: m a -> (e -> m a) -> m a
More specifically: Why is there a pipe symbol followed by what looks like a function definition in the "class" line?
It is a functional dependency. Generally you can read it as "m uniquely determines e".