San*_*eep 5 theory syntax functional-programming
我听说使用某些语言(RoR)时生产率的提高.我也听说过一些VM比其他VM更优化(GHC?).还有一些人试图通过改进底层架构来优化他们的选择语言(Unladen Swallow)
然而,在阅读论文("SSA是函数式编程")时,我有一个问题,即根据其语法,特定语言是否(有一天)能够成为具有最佳性能的语言.
我想我要问的是,无论一个特定的语法,理论上是最适合生成最佳机器代码的齿轮.我会对任何意见的基础理论非常感兴趣 - 我正在与一些朋友讨论这个问题,我们正在讨论有关特定语法的信息内容的想法.
请注意我正在谈论具有至少一流功能的语言 - 请不要ASM.
不会。所有追求性能的函数式语言都会转化为类似于 lambda 演算的核心语言。不同编译器的核心语言之间的相似度远远超过它们与原始语法的相似度。并且任何语法都会被编译成核心语言,从中可以继续生成本机代码。因此,在本机代码编译器中,具体语法永远不会影响性能。
如果您正在谈论像Lua编译器这样的高速单通道字节码编译器(Lua 完全支持类似Scheme 的一类函数),那么答案可能会有所不同——如果编译器是为快速编译而设计的,而不是为快速编译而设计的。好的代码,您也许能够使用具体的语法来提高性能。一个例子可能是使用caseorswitch语句而不是嵌套if的。