用JavaScript理解Functor, Applicative 和 Monad

在之前的文章中,我们用图片的形式来解释了 Functor 、 Applicative 和 Monad ,但还是太抽象了,现在让我们用 JavaScript 来继续说明这些概念。 容器 任何值都可以被放入一个上下文中。这个值就好像被放入了盒子中,我们不能直接操作这个值。 ![image from depend ...

图解 Functor, Applicative 和 Monad

1. 英文原文链接 > > 2. 原文是站在 Haskell 方面写的,其中涉及到一些 Haskell 中的方法。这些方法对于 JavaScript 开发者可能不太容易理解,所以可以去看[` JavaScri ...

柯里化

柯里化是函数式编程中的一种过程,可以将接受具有多个参数的函数转化为一个的嵌套函数队列,然后返回一个新的函数以及期望下一个的内联参数。它不断返回一个新函数(期望当前参数)直到所有参数都用完为止。这些参数会一直保持“存活”不会被销毁(利用闭包的特性)以及当柯里化链中最后的函数返回并执行时,所有参数都用于执行。 > 柯里化就是将具有多个arity(参数个数)的函数转化为具有较少的arity的函数。 ...