15-851 Computation & Deduction |
Spring 1997 Frank Pfenning |
This code implements different versions of evaluation with environments, compilation from the high-level Mini-ML language to expressions using de Bruijn indices, and the correctness proofs for this compilation.
This code covers Section 6.1 of the
notes discussed in Lecture 10.
See also the CONFIG file and the
directory compile/debruijn1/
for this
code.
File | Description |
---|---|
mini-ml.elf | Mini-ML expressions |
debruijn.elf | Mini-ML expressions in de Bruijn form |
trans.elf | Translation between representations |
feval.elf | Evaluation with environments |
eval.elf | Evaluation with substitution |
map-eval.elf | Mapping between evaluations |
examples.quy | Example Queries |
This code covers Section 6.2 of the
notes, discussed in Lecture
11. See also the CONFIG file
and the directory compile/debruijn/
for this
code.
File | Description |
---|---|
mini-ml.elf | Mini-ML expressions |
debruijn.elf | Mini-ML expressions in de Bruijn form |
trans.elf | Translation between representations |
feval.elf | Evaluation with environments |
eval.elf | Evaluation with substitution |
value.elf | Value judgment |
val-lemmas.elf | Lemmas regarding the evaluation of values |
map-eval.elf | Mapping between evaluations |
examples.quy | Example Queries |
This code covers the continuation machine discussed in lectures 11 and 12. See also the CONFIG file and the directory compile/cpm/
for this
code.
File | Description |
---|---|
mini-mlv.elf | Mini-ML expressions and values |
evalv.elf | Mini-ML evaluation with values |
cpm.elf | States of continuation machine |
ceval.elf | Evaluation under continuations |
ceval-sound.elf | Soundness of continuation machine |
ceval-complete.elf | Completeness of continuation machine |
examples.quy | Example Queries |
This code covers the contextual semantics discussed in Lecture 12. See also the CONFIG file and the directory compile/cxm/
for this
code.
File | Description |
---|---|
mini-mlv.elf | Mini-ML expressions and values |
evalv.elf | Mini-ML evaluation with values |
xeval.elf | Contextual evaluation |
examples.quy | Example Queries |
This code covers the continuation-passing style discussed in Lecture 14. See also the CONFIG file and the directory compile/cps/
for this
code.
File | Description |
---|---|
mini-ml.elf | Mini-ML expressions |
cps.elf | Expressions in continuation-passing style (CPS) |
ml-cps.elf | Compilation to CPS expressions |
ceval.elf | Evaluation of CPS expressions |
examples.quy | Example Queries |