Functional programming with structured graphs
Compilers: Principles, Techniques, and Tools