众所周知,所有函数式语言都共享一些基本属性,例如将函数用作程序的基本构建 block ,并具有所有后果,例如使用递归而不是迭代。但是,也存在一些根本性差异。 Lisp 对 Lisp 代码和数据使用单一表示,而 ML 没有 ML 代码的标准表示。 Erlang 有一个内置的基于actor的并发。 Haskell 有单子(monad)。 Haskell 在静态类型系统中区分了纯函数和不纯函数;机器学习没有。
有什么特色基本 其他函数式语言(Clojure、F#、Arc 等)之间的区别?基本我的意思是影响你用这种语言开发方式的东西,而不是例如它是否与一些广泛传播的运行时集成。
最佳答案
在我的头顶上:
只有前两项是函数式语言真正独有的(即,几乎所有命令式语言都是急切的和不纯的)。
关于haskell - 函数式语言的显着特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485418/