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]
实例。 MonadPlus
是 Monad
加上 ApplicativePlus
(没有双关语意)。
一般来说,trait
、AllInstances
混合在 所有实例 中,您可以找到它 here。
我想了解 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]
实例。 MonadPlus
是 Monad
加上 ApplicativePlus
(没有双关语意)。
一般来说,trait
、AllInstances
混合在 所有实例 中,您可以找到它 here。