微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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年前,“折叠”一词至少也有些普遍!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐