根据着名的论文,成语是不经意的,箭头是一丝不苟的,monad是混杂的,箭头的表达能力(没有任何额外的类型)应该在应用函子和monad之间严格地说:monads相当于ArrowApply,并且Applicative应该等同于纸张称为"静态箭头".但是,我不清楚这种"静态"意味着什么限制.
玩弄的问题有三种类型类,我是能够建立应用性函子和箭头,这是我在与知名等价的上下文中呈现之间的等价Monad和ArrowApply.这种结构是否正确?(我在厌倦之前证明了大部分的箭法).这是不是意味着Arrow并且Applicative完全一样?
{-# LANGUAGE TupleSections, NoImplicitPrelude #-}
import Prelude (($), const, uncurry)
-- In the red corner, we have arrows, from the land of * -> * -> *
import Control.Category
import Control.Arrow hiding (Kleisli)
-- In the blue corner, we have applicative functors and monads,
-- the pride of * -> *
import Control.Applicative
import Control.Monad
-- Recall the well-known result that every …Run Code Online (Sandbox Code Playgroud)