Haskell 提供了一个标准类型类“Alternative”,它有效地<|>
为任何类型的应用程序提供了操作符。
据我了解,Alternative 被认为是 Applicative 上的 Monoid,但是该<|>
运算符似乎在许多不是 Applicative Functors 的类型中也完全有意义,并且不需要对 Applicative 类型类有任何特定依赖它才能正常工作。
为什么 Alternative 需要成为 Applicative 的子类是否有原因,如果是这样,是否有标准类型类来定义非应用类型的类似功能?