我编写了一个具有类似于Haskell类型类的图书馆接口的抽象类,以及实现所有“可派生”方法的抽象类(例如,可以使用>>=和return编写Monad.join )。这是我计划的结构([]意味着接口还不存在):
Applicative <= Alternative <-,
Functor <= Pointed <= Applicative <= Monad <= MondPlus
Functor <= Copointed <= Comonad Monad <= [MonadFix]
Category <= Arrow <= ArrowChoice
Arrow <= [ArrowApply]
Arrow <= [ArrowLoop]
Arrow <= [ArrowZero] <= [ArrowPlus]
Bifunctor发布于 2011-05-27 00:34:36
https://stackoverflow.com/questions/6144861
复制相似问题