Lambda Tamer

The Lambda Tamer project tackles the issues surrounding computer formalization of programming languages and their tools, based around the Coq proof assistant. The Lambda Tamer methodology centers on higher-order and dependently-typed abstract syntax and aggressive automation. The main project output is a library of Coq definitions, theorems, and tactics in support of building certified compilers for HOT (higher-order typed) languages.

New: 20091030 release of the Lambda Tamer library

This is the final release to go with the POPL'10 paper, focusing on the verified compiler from an impure Mini-ML language to an idealized assembly language.

Warning: This release currently only compiles with Coq 8.1. We have avoided using 8.2 so far because a change in its proof engine has slowed the compilation of our developments dramatically.

Some old releases are still available.

Papers

Composable theorems Syntactic Proofs of Compositional Compiler Correctness submitted draft
Impure languages A Verified Compiler for an Impure Functional Language POPL'10
Syntax & pure languages Parametric Higher-Order Abstract Syntax for Mechanized Semantics ICFP'08
Mostly-superceded initial work A Certified Type-Preserving Compiler from Lambda Calculus to Assembly Language PLDI'07

Author: Adam Chlipala

Project summary page

SourceForge Logo