ACM Home Page
Please provide us with feedback. Feedback
Quasi-static scoping: sharing variable bindings across multiple lexical scopes
Full text PdfPdf (1.29 MB)
Source Annual Symposium on Principles of Programming Languages archive
Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages table of contents
Charleston, South Carolina, United States
Pages: 479 - 492  
Year of Publication: 1993
ISBN:0-89791-560-7
Authors
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 13,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/158511.158706
What is a DOI?

ABSTRACT

Static scoping embodies a strong encapsulation mechanism for hiding the details of program units. Yet, it does not allow the sharing of variable bindings (locations) across independent program units. Facilities such as module and object systems that require cross references of variables therefore must be added as special features. In this paper we present an alternative: quasi-static scoping. Quasi-static scoping is more flexible than static scoping, but has the same encapsulation mechanism. The user can control when and in what scope to resolve a quasi-static variable, i.e., to associate it with a variable binding. To demonstrate its versatility, we add quasi-static scoping to Scheme and show how to build the aforementioned facilities at the user-level. We also show that quasi-static scoping can be implemented efficiently.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

2
3
4
5
 
6
E. W. Dijkstra. Algol 60 translation. Supplement AL- GOL Bulletin 1 O, 1960.
 
7
 
8
 
9
S. Jagannathan. RReflective building blocks for modular systems. To appear in the IMSA '92 International Workshop on RReflection and Mete-Level Architecture.
10
 
11
K. J. Lang and B. A. Pearlmutter. OaklJsp: An objectoriented dialect of Scheme. Lisp and Symbolic Computation, 1(1):39-51, 1988.
 
12
 
13
14
 
15
K. Nermark. Simulation of object-oriented concepts and mechanisms in Scheme. Technical Report tt 90- 01, Institute of Electronic Systems, Aalborg University, January 1990.
 
16
 
17
G. D. Plotkin. Call-by-name, call-by-v~ue and the )t-calculus. Theoretical Computer Science, 1:125-159, 1975.
 
18


Collaborative Colleagues:
Shinn-Der Lee: colleagues
Daniel P. Friedman: colleagues