ACM Home Page
Please provide us with feedback. Feedback
Environment classifiers
Full text PdfPdf (250 KB)
Source ACM SIGPLAN Notices archive
Volume 38 ,  Issue 1  (January 2003) table of contents
Pages: 26 - 37  
Year of Publication: 2003
ISSN:0362-1340
Also published in ...
Authors
Walid Taha  Rice University
Michael Florentin Nielsen  IT University of Copenhagen
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 35,   Citation Count: 20
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/640128.604134
What is a DOI?

ABSTRACT

This paper proposes and develops the basic theory for a new approach to typing multi-stage languages based a notion of environment classifiers. This approach involves explicit but lightweight tracking -- at type-checking time -- of the origination environment for future-stage computations. Classification is less restrictive than the previously proposed notions of closedness, and allows for both a more expressive typing of the "run" construct and for a unifying account of typed multi-stage programmin.The proposed approach to typing requires making cross-stage persistence (CSP) explicit in the language. At the same time, it offers concrete new insights into the notion of levels and in turn into CSP itself. Type safety is established in the simply-typed setting. As a first step toward introducing classifiers to the Hindley-Milner setting, we propose an approach to integrating the two, and prove type preservation in this setting.


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
Zine-El-Abidine Benaissa, Daniel Briaud, Pierre Lescanne, and Jocelyne Rouyer-Degli. λv, a calculus of explicit substitutions which preserves strong normalisation. Journal of Functional Programming, 6(5):699--722, 1996.
 
5
Zine El-Abidine Benaissa, Eugenio Moggi, Walid Taha, and Tim Sheard. Logical modalities and multi-stage programming. In Federated Logic Conference (FLoC) Satellite Workshop on Intuitionistic Modal Logics and Applications (IMLA), 1999.
 
6
 
7
 
8
9
10
11
12
 
13
Olivier Danvy, Karoline Malmkjaer, and Jens Palsberg. Eta-expansion does the trick. Technical Report RS-95-41, University of Aarhus, Aarhus, 1995.
 
14
15
16
17
18
 
19
 
20
Yoshihiko Futamura. Partial evaluation of computation process -- an approach to a compiler-compiler. Systems, Computers and Control, 2(5):45--50, 1971. {Via {33}}.
21
 
22
 
23
 
24
 
25
26
 
27
Carsten K. Gomard and Neil D. Jones. A partial evaluator for untyped lambda calculus. Journal of Functional Programming, 1(1):21--69, 1991.
28
29
 
30
 
31
 
32
33
 
34
 
35
 
36
 
37
38
 
39
MetaOCaml: A compiled, type-safe multi-stage programming language. Available online from http://cs-www.cs.yale.edu/homes/taha/MetaOCaml/, 2001.
 
40
 
41
 
42
43
44
 
45
 
46
Flemming Nielson. A formal type system for comparing partial evaluators. In D Bjírner, Ershov, and Jones, editors, Proceedings of the workshop on Partial Evaluation and Mixed Computation (1987), pages 349--384. North-Holland, 1988.
 
47
 
48
 
49
50
51
 
52
 
53
Oregon Graduate Institute Technical Reports. P.O. Box 91000, Portland, OR 97291-1000,USA. Available online from ftp://cse.ogi.edu/pub/tech-reports/README.html. Last viewed August 1999.
54
 
55
 
56
 
57
Claudio Russo. Types for Modules. PhD thesis, Edinburgh University, 1998.
58
 
59
Yannis Smaragdakis and Don Batory. DiSTiL: A transformation library for data structures. In USENIX Conference on Domain-Specific Languages, 1997.
 
60
 
61
62
 
63
64
65
 
66
Mitchell Wand. Complete type inference for simple objects. In Second Annual IEEE Symp. on Logic in Computer Science, 1987.
 
67

CITED BY  21

Collaborative Colleagues:
Walid Taha: colleagues
Michael Florentin Nielsen: colleagues