Embedding type structure in semantics

Mitchell Wand
1985 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '85  
We show how a programming language designer may embed the type structure of 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
more » ... th continuation semantics. We provide a set of static typechecking 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. * We borrow from philosophy the convention that "denote" may be used as an intransitive verb.
doi:10.1145/318593.318602 dblp:conf/popl/Wand85 fatcat:yqxnaz6dzvcylg5mvmaaova6ie