我读过一篇讨论冯·诺伊曼风格编程的论文。论文的名称是Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs
关于函数式编程语言的问题(由作者John Backus提到)是这样的:
当我们提到像 HASKELL 或 ERLANG 这样的函数式编程语言时,本文中的函数Style是完全或近似意义相同吗?
答案 0 :(得分:4)
如果您想查看受该文章中描述的 FP 语言启发的直接的语言,您可能需要查看J。
答案 1 :(得分:3)
这是一篇有用的博文:Why concatenative programming matters。
简而言之,这是两种不同的技术。维基百科分别称他们为Functional Programming和Function-Level Programming。还有Point-Free of Tacit Programming,Concatenative Languages和Stack-Oriented Languages - 所以确切的命名可能会根据您的要求而有所不同。
正如博客文章指出的那样,功能(或应用)语言(Erlang,Haskell,ML,Scheme)不适合功能级(或连接)编程。但是,有Pointless Haskell库可以帮助在Haskell中编写函数级程序。请注意,常用事物(如空列表)的类型签名与Prelude的不同之处。可以通过cabal install pointless从Hackage安装该库。请参阅examples。
对于相关语言,请参阅Forth,APL,Joy和Cat。 Jorg提到的J语言是APL和FP的后代。