haskell - 哪些语言实现了函数式编程的特性?

标签 haskell functional-programming lisp enterprise ml

Lisp 很早就在学术界开发了一组有趣的语言特性,但其中大部分从未在生产环境中流行起来。

一些语言,如 JavaScript,采用了垃圾收集和词法闭包等基本功能,但所有可能真正改变你大规模编写程序的方式的东西,如强大的宏、代码作为数据的东西和自定义控件结构,似乎只在其他函数式语言中传播,这些语言都不适用于重要的项目。

函数式编程社区还提出了许多其他有趣的想法(除了函数式编程本身),例如引用透明性、广义 case 表达式(即模式匹配,不像 C/C# 开关那样残缺不全)和柯里化(Currying)函数,这些函数在常规编程中显然很有用,应该很容易与现有的编程实践集成,但由于某种原因似乎永远停留在学术界。

为什么这些功能很难被采用?是否有任何现代、实用的语言真正从 Lisp 中学习而不是半吊子地复制“一流的功能”,或者是否存在使这不可能的内在冲突?

最佳答案

Are there any modern, practical languages that actually learn from Lisp instead of half-assedly copying "first class functions", or is there an inherent conflict that makes this impossible?

为什么 lisp、haskell、ocaml 或 f# 不是现代的?

您可能只需要自己承担并查看它们,然后意识到它们更健壮,使用像 java 这样的库,然后您会想。

函数式语言的很多特性被其他语言所采用。但反之亦然——例如,(某些)函数式语言有对象。

关于haskell - 哪些语言实现了函数式编程的特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75303/

相关文章:

haskell - 在 Haskell 中创建解释器

haskell - 在 Haskell 中分配多个变量

f# - 功能编程和多核架构

clojure - 什么是统一更新模型?

javascript - 在javascript中添加时间

scheme - 这段 lisp 代码的 racket 翻译是什么?

haskell - Yesod 删除级联

algorithm - 确定给定数字是否是haskell中的素数

haskell - 链完整的概念是什么?

Lisp:'(nil nil) 为什么以及如何评估为真?