【发布时间】:2018-01-04 21:35:50
【问题描述】:
如何在 Cats 中创建自定义类型构造函数的实例?
我知道 cat 已经带有几乎所有 Scala 内置类型构造函数,我可以通过例如 import cats.data._ import cats.implicits._ import cats.instances._ 导入它们,但我想知道如何创建自己的隐式实例来使用像 > 这样的单子运算符 sintaxs >= 使用我自己的自定义类型构造函数。假设我有 MyType[A] 是一元的 o 至少有 flatMap 和 pure 构造函数,我想做这样的事情:
Monad[MyType].pure(x) >>= { _.fooBar }
我在instances包的来源看到了Option之类的一些例子,但似乎要做的事情很多,我不知道是否有简单的方法。
问候。
【问题讨论】:
标签: scala functional-programming monads scala-cats