Back to Search
Start Over
Compiling untyped lambda calculus to lower-level code by game semantics and partial evaluation (invited paper)
- 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.
- Subjects :
- Functional programming
Theoretical computer science
Semantics (computer science)
Game semantics
Programming language
Computer science
Program transformation
020207 software engineering
0102 computer and information sciences
02 engineering and technology
computer.software_genre
01 natural sciences
Expression (mathematics)
Partial evaluation
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES
010201 computation theory & mathematics
TheoryofComputation_LOGICSANDMEANINGSOFPROGRAMS
0202 electrical engineering, electronic engineering, information engineering
Lambda calculus
computer
Typed lambda calculus
computer.programming_language
Subjects
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