Abstract
This paper considers current solutions to the problem of representing multiple environments, and uses the results to develop a new model. The motivation is partly a consequence of the renewed interest in the more sophisticated forms of access and control [Sussman & Steele 1978], [Smith 1983]. [Friedman et al. 1984], and partly because the problem identified by Moses [1970] has not, as yet, been satisfactorily resolved. The new model is derived from a consideration of the semantics of identifier binding interrogation. The implementation itself rests on the existence of an environment labeling function which solves a variant of a well known graph theory problem called nearest common ancestor. We describe a suitable implementation of such a function. The new scheme has been implemented in two different LISP systems (Cambridge LISP and Portable Standard LISP), and a third (LISP/VM) is under consideration. In addition, pure deep binding and full shallow binding have both been implemented on top the same base system (Cambridge LISP). Thus it is possible to collect comparisons of the relative efficiencies running simple (stack behavior) programs and complex (multiple context) programs. Some timing results for various tests are given in the final section.
Original language | English |
---|---|
Title of host publication | POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages |
Place of Publication | New York |
Publisher | Association for Computing Machinery |
Pages | 255-265 |
Number of pages | 11 |
DOIs | |
Publication status | Published - 1985 |
Event | Proceedings of POPL 85, New Orleans - Duration: 1 Jan 1985 → … |
Conference
Conference | Proceedings of POPL 85, New Orleans |
---|---|
Period | 1/01/85 → … |