A model and stack implementation of multiple environments
Communications of the ACM
Semantics for LISP without Reference to an Interpreter
Proceedings of the Fourth 'Colloque International sur la Programmation' on International Symposium on Programming
The impact of the LCC-optimization on the performance of a static scope LISP interpreter
SIGSMALL '88 Proceedings of the 1988 ACM SIGSMALL/PC symposium on ACTES
Dynamic optimization of covered tail recursive functions in applicative languages
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Hi-index | 0.00 |
Functional programming languages based on the lambda calculus provide a powerful programming tool. Much of this power derives from the ability to use higher order functions, that means functions having either functional arguments or a functional result. However, attempts to implement such higher order functions without any restrictions have always been expensive, both in storage and time (e.g. [Bo/We]). ALGOL-like languages only have functions with functional arguments (e.g. ALGOL 60 or, with some mode restrictions, PASCAL) and a run time stack can be used for managing function and procedure calls. Using Dijkstra's “display-technique” we can obtain a simple and efficient implementation.