What's the "|" for in a Haskell class definition?
- by martingw
I can't figure out what the "| m - w"-part means in a class definition like this:
class (Monoid w, Monad m) = MonadWriter w m | m - w
What additional information does this add to the class definition?