[Haskell-cafe] Monad laws in presence of bottoms
roma at ro-che.info
Mon Feb 20 19:42:04 CET 2012
I just realised that many common monads do not obey the monad laws when
it comes to bottoms.
E.g. for the Reader monad:
undefined >>= return /= undefined
return () >>= undefined /= undefined
return () >>= const undefined /= undefined
return undefined >>= \x -> case x of () -> return () /= undefined
Not a long time ago David Barbour argued on this list that bottoms
should be ignored when checking the monad laws.
Is that the commonly accepted interpretation of the laws?
Is there any other interpretation in which the Reader monad obeys the
Roman I. Cheplyaka :: http://ro-che.info/
More information about the Haskell-Cafe