Towards a formally verified Haskell compiler
This repository contains things I worked on for my MSc project: first steps towards a Coq-verified compiler for a call-by-need language via the STG machine. The implementation dates back to 2010 (:exclamation:), but it seems there's not been much progress in this direction since then.
Here, you'll find two separate projects:
-
stg - results described in my Haskell Symposium 2010 paper: a Coq-verified derivation of the STG machine from a simpler big-step operational semantics,
-
vm - results described in my MSc thesis: a Coq-verified compiler from a core calculus to instructions of a virtual machine based on the STG machine (a Haskell version of the compiler was obtained via the Coq extraction mechanism).