【问题标题】:Where are the common typeclasses instances in scalaz?scalaz 中常见的类型类实例在哪里?
【发布时间】:2015-09-30 15:14:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: scalaz


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-04
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-19
      • 2013-06-30
      • 2015-01-25
      • 1970-01-01
      相关资源
      最近更新 更多