如果return a = return b
然后a=b
,您能证明这一点吗?当我使用=
时,我的意思是法律和证据意义,而不是Eq
阶级意义。
我认识的每一个单子似乎都满足了这一点,我想不出一个不会有效的单子(Const a
是一个算子和应用,但不是一个单子。)
答案 0 :(得分:65)
没有。考虑一下琐碎的monad:
data Trivial a = Cow
instance Monad Trivial where
_ >>= _ = Cow
return _ = Cow