语言实现与编译器/解释器发送到金属的位置有多远

时间:2012-01-17 04:05:22

标签: language-agnostic compiler-construction functional-programming bare-metal imperative-languages

我不想将此视为A Question Someone Beat Me to by 2 Years的'回答' 所以我提出了一个新问题。从那里的答案看来(参见N. Ramsey,他写道:

  

“......但是,如果你抬头看看Arvind教授的开创性工作   麻省理工学院,他的小组设计并建立了数据流机器   基本的计算操作更具说明性   性质....“

可能裸机指令可能是声明性的,也可能不是必需的。

有没有人想过朝这个方向走多远?编译器必须始终将功能语言转换为命令式语言吗?是否存在支持此功能的硬件?

我只是好奇 - 总是看着前卫。郎。趋势,我最终想知道没有可变状态(例如)真正意味着什么。

1 个答案:

答案 0 :(得分:4)

存在非命令性硬件,用于专门的应用程序。 Field-programmable gate arrays (FPGAs)就是一个很好的例子。

然而,冯·诺依曼机器模型(它是我们当前处理器架构的基础)已被证明非常有用和多功能,并且已经花费了大量工作来使命令性处理器快速且便宜。虽然可以探索非命令性的计算机概念,但目前似乎不值得努力 - 在命令式机器上构建声明性机器作为解释器要便宜得多比真正的声明性机器更快。