MonoidK and Monad relation



我试图理解众所周知的短语A monad is just a monoid in the category of endofunctors并将一些范畴论概念映射到cats库中。

cats中有一个MonoidK类型类,它在combineK方法上是多态的。因此,如果我们用函子参数化它,这个类型类的一个实例看起来像内富子类别中的幺半群。

如果我们假设我们只能通过函子对MonoidK进行参数化,那么MonoidKMonad在范畴论方面有什么区别?

幺半群

有两个概念:代数中的幺半群和范畴论中的幺半群。后者是前者的更抽象版本。前者可以被认为是后者非常具体的部分情况。让我们称它们为幺半群(1(和幺半群(2(。

MonoidK是幺半群(1(表示高等F[_]。您知道如何"乘以"F[A]类型的两个元素和 F[A] 类型的"单位"。

Monad是函子的幺半群 (2(。您知道如何将F[F[A]]"展平"成F[A]以及如何将A"打包"到F[A]中。

相关内容

  • 没有找到相关文章

最新更新