ACM Home Page
Please provide us with feedback. Feedback
Metalevel building blocks for modular systems
Full text PdfPdf (2.16 MB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 16 ,  Issue 3  (May 1994) table of contents
Pages: 456 - 492  
Year of Publication: 1994
ISSN:0164-0925
Author
Suresh Jagannathan  NEC Research Institute, Princeton, NJ
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 1,   Downloads (12 Months): 23,   Citation Count: 6
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/177492.177578
What is a DOI?

ABSTRACT

The formal definition of any namespace device found in a programming language can be given in terms of transformations on a semantic environment. It is worthwhile, therefore, to consider the implications of incorporating environments as bona fide data objects in a programming system. In this article, we propose a treatment of environments and the mechanism by which they are reified and manipulated, that addresses these concerns. The language described below (Rascal) permits environments to be reified into data structures, and data structures to be reflected into environments, but gives users great flexibility to constrain the extent and scope of these processes. We argue that the techniques and operators developed define a cohesive basis for building large-scale modular systems using reflective programming techniques.


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.

 
1
2
 
3
 
4
5
6
7
8
9
10
 
11
DAHL, O., MYHRHAUG, B., AND NYGAARD, K. 1970. The Simula67 base common base language. Tech. rep., Norwegien Computing Center.
12
13
14
15
16
 
17
18
19
 
20
JAGANNATHAN, S. 1988. A programming language supporting first-class, parallel environments. Ph.D. thesis, MIT, Cambridge, Mass. (Also published as Tech. rep. LCS-TR 434.)
 
21
22
23
24
25
26
27
28
29
 
30
 
31
 
32
PEYTON-JONES, S. L. 1987. The Implementation of Funetwnal Programming Languages. Prentice Hall.
33
 
34
REES 1993. Another Module System for Scheme Scheme48 documentation.
 
35
SMITH~ B. 1982. Reflection and Semantics in a Procedural Language. Ph. D. thesis, MIT, Cambridge, Mass. (Also published as Tech. rep. LCS TR-272.)
 
36
STEELE JR.~ G 1978. Rabbit: A Compiler for Scheme. Master's thesis, Massachusetts Institute of Technology, Cambridge, Mass.
 
37
 
38
 
39
STRACHEY, C. AND WADSWORTH, C. 1974. Continuations: A mathematical semantics for handling full jumps. Technical Report PRG-11, Programming Research Group, Oxford University, Oxford, U.K.
40
41
 
42
 
43
U.S. Dept. of Defense 1982. Reference Manual for the ADA Programmzn9 Language. U.S. Dept. of Defense, Washington, D.C.
 
44
WAND M. AND FRIEDMAN, D. P. 1988. The mystery of the tower revealed: A non-reflective description of the reflective tower. L~sp and Symbol. Comput 1, 1 (June), 11-38
 
45