Abstract

We define a weak λ-calculus, λσ w , as a subsystem of the full λ-calculus with explicit substitutions λσ⇑. We claim that λσ w could be the archetypal output language of functional compilers, just as the λ-calculus is their universal input language. Furthermore, λσ⇑ could be the adequate theory to establish the correctness of simplified functional compilers. Here, we illustrate these claims by proving the correctness of two simplified compilers and runtime systems modeled as abstract machines. We first present the Krivine machine. Then, we give the first formal proofs of Cardelli's FAM and of its compiler.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call