The Implementation of Functional Programming Languages
While I was running with my coworker today he got me interested in the implementation details of functional languages. In particular, he described how functional programs can be thought of as a graph of nodes and edges. The program is executed by taking this graph through several reductions until only a single node remains.
Might as well take a look at Simon Peyton Jones’ explanation of the G-machine.