|
ABSTRACT
We show how a programming language designer may embed the type structure of a programming language in the more robust type structure of the typed lambda calculus. This is done by translating programs of the language into terms of the typed lambda calculus. Our translation, however, does not always yield a well-typed lambda term. Programs whose translations are not well-typed are considered meaningless, that is, ill-typed. We give a conditionally type-correct semantics for a simple language with continuation semantics. We provide a set of static type-checking rules for our source language, and prove that they are sound and complete: that is, a program passes the typing rules if and only if its translation is well-typed. This proves the correctness of our static semantics relative to the well-established typing rules of the typed lambda-calculus.
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
|
[Clinger, Friedman, and Wand 82] Clinger, W., Friedman, D. P., and Wand, M. "A Scheme for a Higher-Level Semantic Algebra," presentation at US-French Seminar on the Application of Algebra to Language Definition and Compilation, Fontainebleau, France, 1982; proceedings to appear.
|
 |
2
|
|
| |
3
|
[COPPO 84] Coppo, M. "Completeness of Type Assignment in Continuous Lambda Models" Theoret. Comp. Sci. 29 (1984) 309-324.
|
 |
4
|
|
| |
5
|
[Friedman et al. 84] Friedman, D. P., Haynes, C. T., Kohlbecker, E., and Wand, M. "The Scheme 84 Reference Manual" Indiana University Computer Science Department Technical Report No. 153 (March, 1984).
|
 |
6
|
|
| |
7
|
|
| |
8
|
[Hindley 69] Hindley, R. "The Principal Type-Scheme of an Object in Combinatory Logic," Trans. Am. Math. Soc. 146 (1969) 29-60.
|
| |
9
|
[Hindley 83a] Hindley, R. "The Completeness Theorem for Typing ¿-Terms" Theoret. Comp. Sci. 22 (1983) 1-17.
|
| |
10
|
[Hindley 83b] Hindley, R. "Curry's Type-rules are Complete with Respect to the F-Semantics Too" Theoret. Comp. Sci. 22 (1983) 127-133.
|
| |
11
|
|
| |
12
|
[Kahn, MacQueen, & Plotkin 84] Kahn, G., MacQueen, D. B., & Plotkin, G. D., (Eds.) Semantics of Data Types: Proceedings, Lecture Notes in Computer Science, Volume 173, Springer-Verlag, 1984.
|
| |
13
|
[Martin-Löf 79] Martin-Löf, P. "Constructive Mathematics and Computer Programming," Proc. 6th Intl. Congress for Logic, Methodology, and Philosophy of Science, (Hannover, August, 1979).
|
| |
14
|
|
| |
15
|
[Milner 78] Milner, R. "A Theory of Type Polymorphism in Programming," J. Comp. & Sys. Sci. 17 (1978), 348-375.
|
| |
16
|
[Strachey 73] Strachey, C. "The Varieties of Programming Language," Oxford University Computing Laboratory, Technical Monograph PRG-10 (1973).
|
 |
17
|
|
 |
18
|
|
|