Proof of the Futamura projections in Haskell : <p>I read Dan Piponi's excellent blog post on <a href="http://blog.sigfpe.com/2009/05/three-projections-of-doctor-futamura.html" rel="noreferrer">The Three Projections of Doctor Futamura</a>. Towards the end of the article he has an appendix with a proof of the Futamura projections in Haskell. However, I find his article lacking information about the languages involved. What must the source, target and object languages of the specializer be in order for the Futamura projections to work? For example, would the Futamura projections work if I wrote a Haskell to LLVM specializer in Haskell? It would be helpful if you wrote a Haskell program to prove this just like Dan Piponi did in his article.</p>
