各位靓仔靓女们,晚上好!我是今晚的讲师,江湖人称“代码界的段子手”。今天咱们不聊八卦,不谈人生,就来唠唠函数式编程里那些听起来高大上,实际上也确实有点儿意思的概念:Profunctor(预函子),Adjunction(伴随)和 Monad Transformers(Monad 转换器)。 别害怕,虽然名字有点儿吓人,但保证用最接地气的方式,把它们扒个底朝天,让你听完之后,感觉自己也能对着电脑指点江山,成为朋友圈里最懂 Category Theory (范畴论) 的仔! 第一部分:Profunctor – 左右逢源的变形金刚 首先,咱们来聊聊 Profunctor。这玩意儿,你可以把它想象成一个“变形金刚”,但它变形的不是汽车飞机,而是函数。更准确地说,Profunctor 是一个接受两个类型参数的类型构造器,并且能对传入的函数进行“左右逢源”的变形。 听起来有点儿绕?没关系,咱们直接上代码: // 定义一个 Profunctor 的接口 class Profunctor { constructor(val) { this.val = val; } static of(val …
继续阅读“JS `Category Theory` `Profunctor`, `Adjunction`, `Monad Transformers` 在函数式编程”