根据Control.Arrow文件,对于许多monad(>>=操作严格的那些),instance MonadFix m => ArrowLoop (Kleisli m)不符合课堂loop (f >>> first h) = loop f >>> h要求的权利紧缩法()ArrowLoop.为什么会这样?
Control.Arrow
>>=
instance MonadFix m => ArrowLoop (Kleisli m)
loop (f >>> first h) = loop f >>> h
ArrowLoop
haskell arrows typeclass
arrows ×1
haskell ×1
typeclass ×1