List processing in real time on a serial computer
Communications of the ACM
A model and stack implementation of multiple environments
Communications of the ACM
Correspondence between ALGOL 60 and Church's Lambda-notation: part I
Communications of the ACM
Definitional interpreters for higher-order programming languages
ACM '72 Proceedings of the ACM annual conference - Volume 2
An Interpreter for Extended Lambda Calculus
An Interpreter for Extended Lambda Calculus
Lambda: The Ultimate Imperative
Lambda: The Ultimate Imperative
LAMBDA: The Ultimate Declarative
LAMBDA: The Ultimate Declarative
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
HOPL-II The second ACM SIGPLAN conference on History of programming languages
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Implementation Strategies for First-Class Continuations
Higher-Order and Symbolic Computation
History of programming languages---II
ACM SIGPLAN Lisp Pointers
Hi-index | 0.00 |
We present a stack implementation of multiple environments similar in principle to that of Bobrow and Wegbreit, but based on a model which provides both static and dynamic scoping. We note some of the pragmatic consequences of this choice of models; one is that no unnecessary control stack is retained for certain important constructions such as “upward funargs” and coroutines. We also discuss the correct treatment of exit functions, and the need for “entry functions” if dynamic switching of control contexts is to be consistent.