阅读更多
Prelude.ls是一个JavaScript函数式编程库,这是一个基础库,在一定程度上基于Haskell(一种纯函数式编程语言)的Prelude模块。

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/
  • 大小: 49.1 KB
1
0
评论 共 3 条 请登录后发表评论
3 楼 骨之灵魂 2012-06-19 14:56
tlde_ti 写道
at1943 写道
柯里化没看懂

简单的说就是 一个函数本来是多个参数的 (A,B)=>C,curring后就变成了A=>B=>C.
比如
伪代码:
func +(a,b) = a+b curring后变为
func +(a)(b) = a+b 直接效果是你只输入a的值2的话就变为
func ?(b) = 2+b 生成了一个新的函数..

具体应用思想则不是一下子能说清的。


这么一解释,有点看懂了~~~
2 楼 tlde_ti 2012-06-19 12:23
at1943 写道
柯里化没看懂

简单的说就是 一个函数本来是多个参数的 (A,B)=>C,curring后就变成了A=>B=>C.
比如
伪代码:
func +(a,b) = a+b curring后变为
func +(a)(b) = a+b 直接效果是你只输入a的值2的话就变为
func ?(b) = 2+b 生成了一个新的函数..

具体应用思想则不是一下子能说清的。
1 楼 at1943 2012-06-19 09:22
柯里化没看懂

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JavaScript函数式编程库Prelude.ls.zip

    Prelude.ls是一个JavaScript函数式编程库,这是一个基础库,在一定程度上基于Haskell(一种纯函数式编程语言)的Prelude模块。 Prelude.ls基于LiveScript编写,LiveScript是JavaScript语言的前 身,由网景...

  • 如何判断企业是否已不适用于VAN EDI模式?

    像许多公司一样,由于他们的交易伙伴要求,如要进行业务交易必须使用EDI(电子数据交换),于是企业别无选择,只能采用EDI。 有部分企业在刚接触EDI时,思路是转向VAN(增值网络)。VAN作为外包服务为企业提供EDI,推迟了企业对EDI的投资或是咨询EDI专业知识的需求。如果您是EDI新手,VAN似乎是一个有吸引力的选择,因为它能为您“处理EDI”。VAN将在您的应用系统和您交易伙伴的系统之间建立...

  • 如何在直连EDI系统之上建立VAN连接?

    知行本次EDI项目客户是一家国内专业的轮胎研发及制造公司,这是知行与客户的第二次合作。其交易伙伴BRP主要从事动力运动和海洋产品的研发、制造和营销,产品包含雪地摩托、船只、越野车辆、船舶推进系统等。客户作为BRP Inc.的轮胎供应商,应当前业务合作需求,需要和BRP建立VAN连接以替代原有邮件方式传递业务数据。 不同于以往EDI项目,BRP要求供应商使用VAN方式建立连接。VAN英文全称为Value Added Network,表示增值网络或是第三方专用网络提供商。VAN提供商专注于提供网络服务,其中包括

  • EDI的两种解决方案:直连EDI和Web-EDI

    EDI,英文全称是Electronic Data Interchange,是一种用来实现企业业务系统之间数据交换的系统,从而实现“无纸化交易”。常见的EDI(电子数据交换)平台有三种,直连EDI、Web-EDI和增值网络VAN。 VAN是一种比较落后的EDI对接方式,这种方式由于自身的很多局限性,会逐渐被取代,我们就不详细说明了。今天我们主要了解下直连EDI和Web-EDI。 直连EDI 直连E...

  • 专访《Haskell函数式编程入门》作者张淞:浅谈Haskell的优点与启发

    张淞,Haskell语言爱好者,著有《Haskell函数式编程入门》一书。目前就职于网易杭州研究院。在10月15日~17日的QCon上海2015上,他将分享《Haskell中的函数与类型系统》:\\\Haskell中的主要概念其实都是围绕类型展开...

  • 打造高效集成工具箱:基于Python与Tkinter的实战开发教程

    在日常的开发和使用中,我们经常需要借助各种小工具来提高工作效率,例如快速启动常用的应用程序、管理文件等。一个简单但功能强大的集成工具箱可以帮助用户快速访问、启动并管理程序。今天,我们将以Python为基础,结合Tkinter和Win32API,开发一个类似Windows快捷方式的工具箱应用,能够让你轻松集成各种常用程序并一键启动

  • django自建博客app

    django自建博客app

  • 《基于YOLOv8的智慧校园实验室高压灭菌锅安全联锁系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    《基于YOLOv8的智慧校园实验室高压灭菌锅安全联锁系统》(包含源码、可视化界面、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计

  • 用于hifi测序数据的基因组组装程序

    用于hifi测序数据的基因组组装程序

  • Microsoft Access 2010 数据库引擎可再发行程序包AccessDatabaseEngine-X64解压后的文件AceRedist

    Microsoft Access 2010 数据库引擎可再发行程序包AccessDatabaseEngine-X64解压后的文件AceRedist

  • 从大模型、智能体到复杂AI应用系统的构建-以产业大脑为例.pdf

    从大模型、智能体到复杂AI应用系统的构建——以产业大脑为例

  • 自然语言处理之TF-IDF算法与TextRank算法的缠绵_textrank,tf-idf和两者的组合-CSDN博客.html

    自然语言处理之TF-IDF算法与TextRank算法的缠绵_textrank,tf-idf和两者的组合-CSDN博客.html

  • 科学智能2023版《科学智能 (AI4S)全球发展观察与展望》:AI4S驱动的跨领域技术创新与应用

    内容概要:2023版《科学智能 (AI4S)全球发展观察与展望》阐述了AI for Science(AI4S)在全球范围内的最新进展及其对科学和工业的深远影响。文章首先回顾了AI4S在过去一年中的快速发展,特别是在药物研发、材料科学、地质学、污染治理等多个领域的应用实例。AI4S通过结合深度学习、机器学习和其他AI技术,加速了从基础研究到实际应用的转化过程。例如,在药物研发中,AI4S帮助科学家克服了“反摩尔定律”的挑战,提高了新药研发的成功率;在材料科学中,AI4S实现了复杂材料的高效模拟,如人造钻石、石墨烯、碳纳米管等;在地质学中,AI4S通过模拟地球内部结构和物理过程,为地震学研究提供了新视角。此外,文章还探讨了大语言模型(LLMs)与科学方法的结合,指出LLMs不仅能辅助科学研究,还能生成新的科学假设并进行逻辑推理。 适合人群:具备一定科研背景或对AI技术感兴趣的科研人员、工程师、政策制定者及高校师生。

  • 个人健康与健身追踪数据集,包含了日常步数统计、睡眠时长、活跃分钟数以及消耗的卡路里,适用于数据分析、机器学习

    这个数据集包含了日常步数统计、睡眠时长、活跃分钟数以及消耗的卡路里,是个人健康与健身追踪的一部分。 该数据集非常适合用于以下实践: 数据清洗:现实世界中的数据往往包含缺失值、异常值或不一致之处。例如,某些天的步数可能缺失,或者存在不切实际的数值(如10,000小时的睡眠或负数的卡路里消耗)。通过处理这些问题,可以学习如何清理和准备数据进行分析。 探索性分析(发现日常习惯中的模式):可以通过分析找出日常生活中的模式和趋势,比如一周中哪一天人们通常走得最多,或是睡眠时间与活跃程度之间的关系等。 构建可视化图表(步数趋势、睡眠与活动对比图):将数据转换成易于理解的图形形式,有助于更直观地看出数据的趋势和关联。例如,绘制步数随时间变化的趋势图,或是比较睡眠时间和活动量之间的关系图。 数据叙事(将个人风格的追踪转化为可操作的见解):通过讲述故事的方式,把从数据中得到的洞察变成具体的行动建议。例如,根据某人特定时间段内的活动水平和睡眠质量,提供改善健康状况的具体建议。

  • 框架结构天城商业办公楼5200平米(建筑图 结构图 计算书 开题报告 任务书 文献翻.zip

    框架结构天城商业办公楼5200平米(建筑图 结构图 计算书 开题报告 任务书 文献翻.zip

  • 柴油机连杆加工工艺及夹具设计.zip

    柴油机连杆加工工艺及夹具设计.zip

  • BeautifulSoup中的select方法汇总

    读书网首页的HTML信息

  • 渐变色文字生成工具 v1.0一款让文字生成渐变颜色代码的软件文字渐变颜色代码生成器.rar

    文字渐变颜色代码生成器:让文字绽放多彩魅力,演示:在信息交流日益丰富的今天,个性化的文字展示成为吸引目光的关键。这款文字渐变颜色代码生成器,便是为满足这一需求而生的绿色软件,无需安装,便捷实用。 它的操作极为简便。用户只需在软件界面中输入想要转换的文字内容,接着从丰富的色彩选项里挑选心仪的起始颜色与结束颜色,随后轻轻按下 “转换按钮”,神奇的事情就此发生 —— 适用于论坛、网页、QQ 空间等多种平台,以及自定义格式的渐变颜色代码便会即刻生成。不仅如此,生成的代码还能自动复制到剪切板,极大地节省了用户手动复制的时间。当你在论坛回帖、更新网页内容或是装扮 QQ 空间时,只需轻松粘贴代码,原本单调的文字瞬间就能拥有绚丽的渐变色彩,瞬间脱颖而出,为你的表达增添独特魅力,让文字不再平凡,轻松成为视觉焦点。 一款可以轻松把一段文字生成渐变颜色代码的绿色软件,当你在软件中输入完要转换的文字后,只需要挑选自己喜欢的起始颜色、结束颜色后,按一下―转换按钮即可生成相应的论坛/网页/QQ空间以及自定义格式代码,并且代码可以自动复制到剪切板中,回帖时直接粘贴代码即可不错得文字代码生成器,让你得文字更加漂亮.

Global site tag (gtag.js) - Google Analytics