首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么lambda演算(根本)使用得不多?

问为什么lambda演算(根本)使用得不多?
EN

Stack Overflow用户
提问于 2011-02-08 07:32:31
回答 2查看 791关注 0票数 4

为什么纯无类型的lambda演算经常被描述为不可能使用?

有了合适的函数库,它会不会和其他函数式语言一样呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-08 07:48:14

在理论上,理论和实践是一样的。在实践中,它们并不是。

从理论上讲,它只是另一种函数式语言。但你有没有考虑过实际使用教堂数字进行数学运算的性能影响?是的,你能做到。但是你的程序会运行得很慢,以至于它们看起来像是严重损坏了。实用的函数式语言必须找到在提供可以构建的抽象和使用常用事物的快速本机实现之间进行实用权衡的方法。

票数 6
EN

Stack Overflow用户

发布于 2011-02-08 08:36:43

速度不是一个大问题。例如,您可以决定使用教堂数字,但要优化实现,以便数字像往常一样表示--以一种对用户完全透明的方式。得到的数字显然在任何语言中都会表现得一样好--除非人们试图实现自己的算术运算,但发现它们不如实现中的运算快,或者当他们发现使用内置的7比相应的lambda表达式快得多时……但这指出了一个更糟糕的问题。在普通的lambda演算中,只有一个参数函数。这意味着你是在一种非常低级的汇编语言中工作,没有类型错误,因为一切都只是函数。事实上,如果你只使用简单的lambda演算,根本不会有错误。与机器代码的类比在这里非常相关:在这里,您也可以做任何您想做的事情--添加两个字符串,结果将是某个随机数。在lambda演算语言中,向一个数值函数发送一些列表编码,它将很乐意返回一个(伪造的)答案。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4927949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档