[POPLmark] A compilation challenge problem
Adam Chlipala
adamc at cs.berkeley.edu
Fri Sep 8 02:15:47 EDT 2006
I've written up a POPLmark-style benchmark problem distilled from a real
problem that came up in the course of a project I'm working on:
http://www.cs.berkeley.edu/~adamc/poplmark/compile/
In essence, this problem is about proving the correctness of a compiler
from a high-level lambda calculus to a lower-level imperative language,
where aggregate data must be represented in an untyped heap, with manual
memory management.
I've also posted my solution to this challenge, which brings together
some ideas I've been playing with involving formalizing language
metatheory in Coq using Debruijn indices and denotational semantics.
I'd be really curious to read any feedback on this (unconventional)
approach, and especially to see any implementations using one or both of
HOAS and operational semantics that lead to more manageable code bases.
More information about the Poplmark
mailing list