完全Kleisli没有应用的东西并不多 - 它很有用(* -> *) -> * -> * -> *,而且我不知道那种有意义的类型类.
但是,如果你有一个类型构造函数的monad F[_],那么它Kleisli[F, ?, ?]是一个Arrow(它是类型的类型类* -> * -> *).
同样,如果F[_]有一个仿函数实例,那么Kleisli[F, A, ?]就有一个特定的仿函数实例A.事实上同样的事情适用于applicative functors和monad - 有一个实例,F[_]并且你也有一个实例Kleisli[F, A, ?].
最后,如果你有一个半群(或幺半群)F[B],那么Kleisli[F, A, B]对于任何一个半群(或幺半群)A.
| 归档时间: |
|
| 查看次数: |
545 次 |
| 最近记录: |