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

Where are the common typeclasses instances in scalaz?

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

以 Monad[List] 为例。我看到 scalaz.std 模块包含 ListInstances 特性,它包含列表的某些类型类实例的隐式值,如 Monoid[List]。这个隐式值定义了 monoid 的列表实例的追加函数。

有没有地方可以找到 Monad[List] 的隐式值,它定义了列表的指向和绑定?

在这里您可以找到 Monad 实例和其他实例,例如 Monoid for List: ListInstances。如您所见,没有 Monad[List] 实例,而是 MonadPlus[List] 实例。 MonadPlusMonad 加上 ApplicativePlus(没有双关语意)。

一般来说,traitAllInstances 混合在 所有实例 中,您可以找到它 here