scalaz中常见的类型类实例在哪里?



我想了解scalaz是如何组织的,我想知道常见的monad(或其他类型类)实例,如monad [Int], monad [List]…定义。

以Monad[List]为例。我看到那个混蛋了。std模块包含ListInstances trait,其中包含一些列表的类型类实例的隐式值,如Monoid[List]。这个隐式值定义了monoid列表实例的追加函数。

是否有一个地方可以找到Monad[List]的隐式值,它定义了列表的点和绑定?

在这里您可以找到Monad实例和其他实例,如MonoidList: ListInstances。正如你所看到的,没有Monad[List]实例,只有MonadPlus[List]实例。MonadPlus是一个Monad加上一个ApplicativePlus(没有双关语的意思)。

通常有trait, AllInstances,混合了所有的实例你可以在这里找到它

最新更新