【发布时间】:2018-01-11 15:37:10
【问题描述】:
我试图解开 lambda 演算和 C++ 中的 lambda 表达式之间的联系。
首先,在无类型的 lambda 演算中,我们没有布尔值、整数或 whatevr 之类的“基值”,因此所有内容都必须编码为函数,然后我们可以将任何术语应用于任何其他术语,这不是一旦有类型系统,C++ 中的情况就完全如此。
此外,我看到 lambda 表达式要么转换为函数指针(当它们不捕获任何内容时),要么转换为仿函数(仅用于包装函数的类)。
所以我想知道,“lambda 表达式”只是匿名函数的一个花哨名称,因此它类似于 lambda 演算(从某种意义上说,lambda 表达式中的术语可以被视为未命名的函数),还是还有更多?
提前致谢。
【问题讨论】:
-
en.wikipedia.org/wiki/Lambda_expression:"计算机编程中的Lambda表达式,也叫匿名函数..." ; “lambda 演算中的 Lambda 表达式,数学逻辑中的形式系统……”这是 Google 上的 3 链接。
-
什么是链接 btw java 和 java 脚本?他们都有java这个词。
-
@Slava 公平地说,维基百科说有一些历史联系。
-
@Slava 所以这个问题可以通过详细说明这种联系来回答,恕我直言。
-
@HolyBlackCat 确定我不反对,也不会反对这个问题
标签: c++ lambda lambda-calculus