
Compiling Scheme to C with flat closure conversion - fogus
http://matt.might.net/articles/compiling-scheme-to-c/
======
Daemmerung
The last time I noticed Matt Might's name, it was as a grad student advisee to
Olin Shivers-- last surviving keeper of the CPS flame!-- writing a hairy
dissertation on control-flow analysis in higher-order programs. So at some
level, it amuses to see that this particular didactic-purposes toy compiler
does /not/ transform its source into CPS or any variant, and does /not/
perform any control-flow analysis.

    
    
      ;; The purpose of this compiler is to demonstrate
      ;; the most direct possible mapping of Scheme into C.
      ;; Toward that end, the compiler uses only two
      ;; intermediate transformations: mutable-variable
      ;; elimination and closure-conversion.

~~~
fadmmatt
Hold the amusement--the third project for the class is (of course) a Scheme ->
CPS -> C compiler:

[http://matt.might.net/teaching/fall-2009-advanced-
compilatio...](http://matt.might.net/teaching/fall-2009-advanced-compilation/)

Naturally, students are required to implement call/cc.

And, in my static analysis class last spring, project 2 was CPS conversion +
0CFA:

[http://matt.might.net/teaching/spring-2009-programming-
langu...](http://matt.might.net/teaching/spring-2009-programming-language-
analysis/)

-Matt

~~~
Daemmerung
On behalf of every autodidact here, thank you for publishing those publicly.

Cheers!

