15

Haskell 提供了一个标准类型类“Alternative”,它有效地<|>为任何类型的应用程序提供了操作符。

据我了解,Alternative 被认为是 Applicative 上的 Monoid,但是该<|>运算符似乎在许多不是 Applicative Functors 的类型中也完全有意义,并且不需要对 Applicative 类型类有任何特定依赖它才能正常工作。

为什么 Alternative 需要成为 Applicative 的子类是否有原因,如果是这样,是否有标准类型类来定义非应用类型的类似功能?

4

1 回答 1

6

我认为Altsemigroupoids包中最接近成为“标准”类型类。https://hackage.haskell.org/package/semigroupoids-5.0.0.1/docs/Data-Functor-Alt.html#t:Alt

于 2015-05-27T12:22:51.683 回答