From Mathematics to Abstract Machine: A formal derivation of an   executable Krivine machine
  This paper presents the derivation of an executable Krivine abstract machine from a small step interpreter for the simply typed lambda calculus in the dependently typed programming language Agda. 
Wouter Swierstra (Radboud University Nijmegen)
cs.PL