相关疑难解决方法(0)

为什么AccValidation没有Monad实例?

validation包的文档:

AccValidation数据类型是同构的Either,但有一个实例的Applicative,关于错误侧积聚.也就是说,如果遇到两个(或更多)错误,则使用Semigroup操作附加它们.

作为该Applicative实例的结果,没有对应BindMonad实例.AccValidation是一个"不是monad的应用函子"的例子.

我不清楚为什么会这样.我可以想象一个Monad例子的AccValidation行为就像Either- 什么会使这个非法?

monads haskell applicative

7
推荐指数
2
解决办法
406
查看次数

标签 统计

applicative ×1

haskell ×1

monads ×1