|
ABSTRACT
We propose a projective lambda calculus as the basis for operations on records. Projections operate on elevations, that is, records with defaults. This calculus extends lambda calculus while keeping its essential properties. We build projective ML from this calculus by adding the ML Let typing rule to the simply typed projective calculus. We show that projective ML possesses the subject reduction property, which means that well-typed programs can be reduced safely. Elevations are practical data structures that can be compiled efficiently. Moreover, standard records are difinable in terms of projections.
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.
| |
Car84
|
|
| |
Car91
|
Luca Cardelli. Extensible records in a pure calculus of subtyping. Private Communication, 1991.
|
| |
CG92
|
M. Coppo and P. Giannini. A complete type inference algorithm for simple intersection types. In Proceedings of European Symposium On Programming, volume 582 of Lecture Notes in Computer Science. Springer Verlag, 1992.
|
| |
CM89
|
|
| |
Cop80
|
|
| |
HP90a
|
Robert W. Harper and Benjamin C. Pierce. Extensible records without subsumption. Technical Report CMU-CS-90-102, Carnegie Mellon University, Pittsburg, PensyIvania, February 1990.
|
| |
HP90b
|
Robert W. Harper and Benjamin C. Pierce. A record calculus based on symmetric concatenation. Technical Report CMU-CS-90- 157~ Carnegie Mellon University, Pittsburg, Pensylvania, February 1990.
|
 |
JM88
|
|
| |
Kir86
|
Claude Kirchner. Computing unification algorithms. In Proceeding of the first symposium on Logic In Computer Science, pages 206-216, Boston (USA), 1986.
|
| |
KJ90
|
Claude Kirchner and Jean-Pierre Jouannaud. Solving equations in abstract algebras: a rule-based survey of unification. Research Report 561, Universit~ de Paris Sud, Orsay, France, April 1990.
|
| |
KK89
|
Claude Kirchner and Franqois Klay. Syntactic theories and unification. CRIN k iNRIA Loraine, Nancy (France), 1989.
|
| |
Ler90
|
Xavier Leroy. The ZINC experiment: an economical implementation of the ML language. Technical Report 117, INRIA-Rocquencourt, 1990.
|
 |
MM82
|
|
 |
OB88
|
|
| |
Oho90
|
Atsushi Ohori. Extending ML poIymorphism to record structure. Technical report, University of Glasgow, 1990.
|
| |
Pie91
|
Benjamin C. Pierce. Programming with intersection types, union types, and polymorphism. Technical Report CMU-CS-91-106, Carnegie Mellon University, Pittsburg, Pensylvania, February 1991.
|
| |
Rém89
|
Didier R~my. Records and variants as a natural extension of ML. In Sixteenth Annual Symposium on Principles Of Programming Languages, 1989.
|
| |
Rém90
|
Didier R~my. Alg~brcs Touffues. Application au Typage Polymorphe des Obyccts Enreg. zstrcmcnts dans los Langages Fonctionncls. Thse de doctorat, Universit~ dc Paris 7, 1990.
|
| |
Rém91
|
Didier R~my. Type inference for records in a natural extension of ML. Technical Report 1431, Inria-Rocquencourt, May 1991. Also in {R~rn90}, chapter 4.
|
| |
Rém92a
|
Didier R~my. Efficient representation of extensible records. In Proceedings of the 1992 ML workshop, 1992.
|
| |
Rém92b
|
Didier R~my. Projective ML. Technical report, BP 105, F-78 153 Le Cha.qnay Codex, BP 105, F-78 153 Le Chesnay Cedex, 1992. To appear.
|
| |
Rém92c
|
Didier Rdmy. Syntactic theories and the algebra of record terms. Technical report, BP 105, F-78 153 Le Chesnay Cedex, BP 105, F- 78 153 Le Chesnay Cedex, 1992. To appear. Also in {R~m90}, chapter 2.
|
 |
Rém92d
|
|
| |
Wan87
|
Mitchell Wand. Complete type inference for simple objects. In Second Symposium on Logic in Computer Science, 1987.
|
| |
Wan89
|
|
|