相关疑难解决方法(0)

为什么 ArrowApply 是证明与 Monads 等效的唯一选择?

这个问题下leftarounabout留下了一个非常清楚的解释,为什么我们实际上考虑ArrowApplyMonad等价。

这个想法是在往返期间不丢失任何信息:

arrAsFunction :: Arrow k => k x y -> (x -> k () y)
arrAsFunction ? x = ? <<< arr (const x)

retrieveArrowFromFunction :: ? k x y .
          ArrowApply k => (x -> k () y) -> k x y
retrieveArrowFromFunction f = arr f' >>> app
 where f' :: x -> (k () y, ())
       f' x = (f x, ())
Run Code Online (Sandbox Code Playgroud)

我(可能)明白,为什么我们开始谈论(x …

monads haskell arrows category-theory

3
推荐指数
1
解决办法
92
查看次数

标签 统计

arrows ×1

category-theory ×1

haskell ×1

monads ×1