2
Alternative,MonadPlus(LeftCatch)和MonadPlus(LeftDistributive)之间有什么关系?
跟进什么是替代而不是MonadPlus的Monad示例?: 假设是单子。什么是关系betweem 米是一个另类,一个MonadPlusCatch和MonadPlusDistr?mmmmmm对于六种可能的组合中的每一种,我都希望有一个证据表明一个隐含着另一个,或者有一个反例却没有。 (我在用着 MonadPlusCatch用来区分满足Left-Catch规则的MonadPlus: mplus (return a) b = return a MonadPlusDistr区分MonadPlus是satifies 左分配规则: mplus a b >>= k = mplus (a >>= k) (b >>= k) 请参阅HaskellWiki上的MonadPlus。) 我目前的知识和直觉是: MonadPlusDist 替代 - 可能是正确的 - 似乎很简单,我相信我有一个证明的草图,我将对其进行检查,如果它是正确的,我会将其张贴在 AndrewC回答的这一部分。→→\rightarrow →→\rightarrow Maybe →→\rightarrow MaybeT (Either e)MaybeT m' ((pure x) <|> g) <*> a = …