【发布时间】:2010-09-09 16:07:33
【问题描述】:
Lisp 很早就在学术界开发了一组有趣的语言特性,但其中大部分从未在生产环境中流行起来。
一些语言,如 JavaScript,采用了垃圾收集和词法闭包等基本功能,但所有可能真正改变大规模编写程序方式的东西,如强大的宏、代码即数据和自定义控件结构,似乎只在其他函数式语言中传播,这些语言都不适用于非平凡的项目。
函数式编程社区还提出了许多其他有趣的想法(除了函数式编程本身),例如引用透明性、通用大小写表达式(即模式匹配,不像 C/C# 开关那样残缺不全)和 curried函数,在常规编程中看起来显然很有用,应该很容易与现有的编程实践集成,但由于某种原因似乎永远停留在学术界。
为什么这些功能很难被采用?是否有任何现代实用的语言实际上从 Lisp 中学习,而不是半途而废地复制“一流的函数”,或者是否存在使这不可能的内在冲突?
【问题讨论】:
-
我对你的问题投了反对票,因为你断言,“......似乎只在其他函数式语言中传播,这些语言都不适用于非平凡的项目。”您有什么证据表明 Haskell 等函数式语言不适合重要的项目?
标签: haskell functional-programming lisp enterprise ml