Prelude.ls:JavaScript函数式编程库
程序员文章站
2022-05-03 07:57:18
...
Prelude.ls是一个JavaScript函数式编程库,这是一个基础库,在一定程度上基于Haskell(一种纯函数式编程语言)的Prelude模块。
Prelude.ls基于LiveScript编写,LiveScript是JavaScript语言的前身,由网景(Netscape)在设计浏览器的时候,为了提高网页设计的互动性而开发。随后Netscape与Sun公司进行合作,共同发展LiveScript语言,并将LiveScript语言改名为JavaScript。
与其他的库(如underscore.js)不同,在prelude.ls中,所有函数被“柯里化(Currying)”,是指把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数。
对象映射到对象,字符串映射到字符串:
在某些情况下,可以使用对象来作为函数:
项目主页:http://gkz.github.com/prelude-ls/
Prelude.ls基于LiveScript编写,LiveScript是JavaScript语言的前身,由网景(Netscape)在设计浏览器的时候,为了提高网页设计的互动性而开发。随后Netscape与Sun公司进行合作,共同发展LiveScript语言,并将LiveScript语言改名为JavaScript。
与其他的库(如underscore.js)不同,在prelude.ls中,所有函数被“柯里化(Currying)”,是指把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数。
var takeFour = take(4); takeFour('hello there'); //=> 'hell'
对象映射到对象,字符串映射到字符串:
map(function(x){ return x*2; }, {d: 3, e: 4}); //=> {d: 6, e: 8}
在某些情况下,可以使用对象来作为函数:
map({on: 1, off: 0}, ['on', 'on', 'off', 'on', 'off']); //=> [1, 1, 0, 1, 0]
项目主页:http://gkz.github.com/prelude-ls/
上一篇: 开水下锅煮鸡蛋几分钟熟