【发布时间】:2012-06-20 03:24:54
【问题描述】:
我有一个关于函数式语言解释器的一般性问题:
在运行时使用函数式语言与命令式语言相比实际上有什么优势(或进入解释器)?
我看到的所有问题(例如this)都没有真正解决这个问题,而且搜索中充斥着关于不同语言定义的争论。
编辑:精简到我最终需要回答的唯一问题。
【问题讨论】:
-
你所说的优势是什么意思?
-
@sepp2k 就像我列出的具体示例一样:函数式编程语言似乎有各种共同特征。我想知道这些似乎将函数式编程与命令式风格区分开来的特性是否真的会在运行时产生任何影响,或者只是编码风格的更肤浅的差异将两者区分开来。有意义吗?
-
我仍然不清楚您希望它以何种方式在运行时发挥作用。让我们将“更容易推理代码”作为引用透明性的优势之一。您如何判断这在运行时是否有所不同?这甚至意味着什么?或者作为(静态类型)函数式编程的另一个优点:“在编译时会捕获更多错误”。这在运行时会有所不同吗?我想你可以这样说,因为这意味着运行的程序更有可能在运行时表现出所需的行为。但这仍然是一种奇怪的思考方式。
-
链末端的终极“解释器”是您的 CPU。这是完全必要的。
-
@SK-logic 或者,如果您斜视恰到好处,则完全可以使用。 :)
标签: haskell functional-programming ocaml interpreter imperative-programming