Back to Search Start Over

Compiling untyped lambda calculus to lower-level code by game semantics and partial evaluation (invited paper)

Authors :
Daniil Berezun
Neil D. Jones
Source :
PEPM
Publication Year :
2017
Publisher :
ACM, 2017.

Abstract

Any expression M in ULC (the untyped λ-calculus) can be compiled into a rather low-level language we call LLL, whose programs contain none of the traditional implementation devices for functional languages: environments, thunks, closures, etc. A compiled program is first-order functional and has a fixed set of working variables, whose number is independent of M. The generated LLL code in effect traverses the subexpressions of M. We apply the techniques of game semantics to the untyped λ-calculus, but take a more operational viewpoint that uses less mathematical machinery than traditional presentations of game semantics. Further, the untyped lambda calculus ULC is compiled into LLL by partially evaluating a traversal algorithm for ULC.

Details

Database :
OpenAIRE
Journal :
Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
Accession number :
edsair.doi...........8461c68695b06a5f2f20e113fdecf683
Full Text :
https://doi.org/10.1145/3018882.3020004