PyR*_*lez 46 monads haskell equality semantics equational-reasoning
如果那样的return a = return b话你能证明a=b吗?当我使用时=,我的意思是在法律和证据意义上,而不是Eq阶级意义上.
我认识的每一个单子似乎都满足了这一点,我想不出一个有效的monad(Const a不是一个算子和应用,而不是一个monad.)
And*_*uer 65
不.考虑一下琐碎的monad:
data Trivial a = Cow
instance Monad Trivial where
_ >>= _ = Cow
return _ = Cow
Run Code Online (Sandbox Code Playgroud)