所以我将我的问题分成4个部分,但首先是一些背景:
我对Monads感觉相对舒服,但对Arrows不太满意.我想我遇到的主要问题是,我看不出它们对它们有用.无论形式是否正确,我都理解Monads是一种工具,可以让我们从计算中引入副作用.因为它们将程序片段从纯值推广到用其他动作装箱的值.从我的霰弹枪"阅读所有论文"的方法来学习箭头,我遇到了两个相互矛盾的观点:
答:箭头比Monads更强大/是Monads的概括.haskell wiki的开头是"他们可以做monad所能做的一切,甚至更多.它们与具有静态组件的monad大致相当."
B.箭头是Monads的子集使用ArrowApply我们可以定义monad