我们先看看这几个函数的源代码: /** Catamorphism. B](r: A => B, s: S[Free[S, A]] => B)(implicit S: Functor[S]): B = resume.fold(s, r) /** * Catamorphism
Catamorphism = TreeNet 上面的例子说明了神经网络中常见的模型非常自然地对应简单的函数程序。
相对scalaz而言,cats的运算函数简单的多,就一个foldMap,我们来看看它的定义: /** * Catamorphism for `Free`.
在这个演讲里,Brian 介绍了范畴论里面的 F-algebra 和 catamorphism。