Hi,
I'm trying to understand the MonadWriter class definition syntax. Now, I'm using GHC 7.6 and the class is defined as
class (Monoid w, Monad m) => MonadWriter w m | m -> w where
....
I've never seen '|' in the middle of a class definition, could some one explain this? It's used in the guard syntax as well as to separate data constructors in a type definition.
Regards
Vinay