I can across the following construct in ghc source
class (Monad m) => MonadState s m | m -> s where
get :: m s
put :: s -> m ()
I am not aware of the syntactic construct | m -> s just before the where? Can someone please explain it?
Thanks & Regards,
Amitava Shee