方案 | lambda和λ有什么区别?

6
我正在学习SCHEME课程,我想知道写“λ”或“lambda”是否有任何区别。为了澄清,这两个代码片段之间是否有功能上的区别?
使用λ
(define foo
 (λ (x)
   (...)))

使用lambda函数

(define bar 
 (lambda (x)
  (...)))
1个回答

8

λ是一个小写符号,名称为lambda,但大多数Scheme实现没有将λ定义为lambda的同义词。这个区别在于lambda保证可以正常工作,而λ对于老师来说显然更短。

例如,我可以提到在SICP视频中,向导经常使用λ,即使该符号不受支持。每次看到它,您需要写lambda


2
那么让我理解清楚一点 - 在Dr.Racket中的"λ"是某种"IDE糖"吗? - Aviad
4
不,更像是 #!racket 语言中的语法糖,它是 racket 应用程序的默认语言。在 #!r5rs 和 #!r6rs 中,即使在 racket 中运行时也未定义,会得到 λ: 未绑定的标识符 的错误提示。 - Sylwester
知道了!非常感谢您详细的回答 :) - Aviad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接