猫中 AN => A 的幺半群实例
Monoid instance for A => A in Cats
函数 A => A
是幺半群,identity
为 empty
,复合为 combine
。不幸的是,我没有在 cats
库中找到它。该库是否为这些函数提供了一个幺半群实例?
A => M[A]
呢,其中 M
是 monad 还是 applicative?
Cats 在 instances/function.scala 中有一个 A => A
的 Monoid 实例。
A => M[A]
对于 Monad M
接缝形成一个 Monoid 与 a => M.pure(a)
作为 empty
以下 combine
op:
def compose(f1 = A => M[A], f2 = A => M[A]): A => M[A] =
a => f1(a).flatMap { e => f2(e) }
这并不意味着在库中实现。
幺半群定律的证明留作 reader.
的练习
函数 A => A
是幺半群,identity
为 empty
,复合为 combine
。不幸的是,我没有在 cats
库中找到它。该库是否为这些函数提供了一个幺半群实例?
A => M[A]
呢,其中 M
是 monad 还是 applicative?
Cats 在 instances/function.scala 中有一个 A => A
的 Monoid 实例。
A => M[A]
对于 Monad M
接缝形成一个 Monoid 与 a => M.pure(a)
作为 empty
以下 combine
op:
def compose(f1 = A => M[A], f2 = A => M[A]): A => M[A] =
a => f1(a).flatMap { e => f2(e) }
这并不意味着在库中实现。
幺半群定律的证明留作 reader.