Description
Book SynopsisThis book shows how continuation-passing style is used as an intermediate representation on which to perform optimisations and program transformations. It will be essential reading for compiler writers in both industry and academe, as well as for students and researchers in programming language theory.
Trade Review"I recommend the book to language designers and implementors specializing in the functional paradigm." F.G. Pagan, Computing Reviews
Table of ContentsAcknowledgements; 1. Overview; 2. Continuation-passing style; 3. Semantics of the CPS; 4. ML-specific optimizations; 5. Conversion into CPS; 6. Optimization of the CPS; 7. Beta expansion; 8. Hoisting; 9. Common subexpressions; 10. Closure conversion; 11. Register spilling; 12. Space complexity; 13. The abstract machine; 14. Machine-code generation; 15. Performance evaluation; 16. The runtime system; 17. Parallel programming; 18. Future directions; Appendices; Bibliography; Index.