RETROSPECTIVE : Ef fi cient Compilation of Lazy Evaluation

RETROSPECTIVE : Ef fi cient Compilation of Lazy Evaluation
复制标题

回顾:惰性求值的高效编译

DOI:
--
复制
发表时间:
2004
期刊:
影响因子:
--
通讯作者:
T. S. Badhusgatan
T. S. Badhusgatan
中科院分区:
--
文献类型:
--
作者:
Thomas Johnsson;T. S. Badhusgatan

文献摘要

被引文献

相似文献

在七十年代末和八十年代初,许多以编程语言的社区意识偏离了冯·诺伊曼(Von Neumann)面向的编程风格,并带有变量(内存单元格)和语句(机器说明),该任务是在语义上进行操作的。更简单,更优雅的语言,启用更简洁的符号,受lambda cyculus的启发,就像功能性语言一样,或逻辑语言的情况例如。数量的平行性。因此,有很多项目可以设计和构建此类计算机但还要减少架构,更适合懒惰的语言 - 请参阅[25]。即使并行性也不是问题。
In the late seventies and and early eighties, many people in the programming languages’ community sought to depart from the von Neumann oriented style of programming, with variables (memory cells) and statements (machine instructions) that operated upon them. The quest was towards semantically simpler and more elegant languages, enabling a more succinct notation, inspired by the lambda calculus as is the case for functional languages, or logic as is the case for logic programming languages e.g. Prolog. Parallel to this trend, the computer architecture community sought to exploit the ever cheaper hardware for multi processor computers. By a happy coincidence, functional languages, with their lack of side effects, was seen as a splendid vehicle for writing programs with large amounts of parallelism. And so there were quite a number of projects to design and build such computers, perhaps the most notable being the MIT data o w work by Dennis, Arvind et al, but also reduction architectures, more geared towards lazy languages — see the collection [25]. In fact, it was widely held that novel architectures were needed to get any kind of execution ef cienc y out of functional languages, especially lazy ones, even when parallelism was not an issue.