众所周知,所有功能型语言都具有一些基本属性,例如将函数用作程序的基本构建块并使用递归代替迭代等,这些属性会产生各种影响。然而,也存在一些根本性的差异。Lisp使用单一表示法来表示Lisp代码和数据,而ML没有ML代码的标准表示形式。Erlang具有内置的基于Actor的并发性。Haskell有Monad。 Haskell在静态类型系统中区分纯函数和不纯函数;而ML则没有。
其他功能型语言(如Clojure、F#、Arc或其他语言)之间有哪些独特的根本差异?我指的是对开发方式产生影响的东西,而不是它是否与某个广泛运行时集成的因素。