scala – 功能编程:Curry&Fold – 什么是词源?

> Curry& Fold – 程序意义上的词源是什么?
我看不出这些 homonyms的任何英文含义与这些术语的功能有什么关系.
>如果你不得不将它们重命名为更明显的东西 – 你会怎么做?

解决方法

我相信“折叠”一词主要来自于像 “to fold into…”这样的短语中使用“fold”这个词,这是厨师最常用的词,我相信(我看了很多烹饪节目……).我们在函数式编程的上下文中使用它,因为我们说,例如,对于列表,列表的头部被“折叠”到折叠尾部的结果中.例如,函数foldr是如何“烹饪”列表的“配方”,如果您愿意,该配方的一部分是“将其折叠成”.

在剑桥大学于1985年出版的this报告中,我在互联网上找到的“折叠”最古老的参考文献,其中有这样的说法:

The function gather applies a function of two arguments “between” each element of a list and a terminal value. […] This function is also kNown as reduce or fold in other languages.

很明显,即使30年前,“折叠”一词至少也有些普遍!

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...