
Compiling with Continuations
Andrew W. Appel(Author)
Cambridge University Press
Published on 29. November 1991
Book
Hardback
272 pages
978-0-521-41695-5 (ISBN)
Article exhausted; check for reprint
Description
The control and data flow of a program can be represented using continuations, a concept from denotational semantics that has practical application in real compilers. This book shows how continuation-passing style is used as an intermediate representation on which to perform optimisations and program transformations. Continuations can be used to compile most programming languages. The method is illustrated in a compiler for the programming language Standard ML. However, prior knowledge of ML is not necessary, as the author carefully explains each concept as it arises. This is the first book to show how concepts from the theory of programming languages can be applied to the producton of practical optimising compilers for modern languages like ML. This book will be essential reading for compiler writers in both industry and academe, as well as for students and researchers in programming language theory.
Reviews / Votes
"I recommend the book to language designers and implementors specializing in the functional paradigm." F.G. Pagan, Computing ReviewsMore details
Language
English
Place of publication
Cambridge
United Kingdom
Target group
Professional and scholarly
Dimensions
Height: 257 mm
Width: 179 mm
Thickness: 20 mm
Weight
670 gr
ISBN-13
978-0-521-41695-5 (9780521416955)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Other editions
New editions

Andrew W. Appel
Compiling with Continuations
Book
02/2007
Cambridge University Press
€115.20
Shipment within 15-20 days
Additional editions

Andrew W. Appel
Compiling with Continuations
E-Book
04/2011
1st Edition
Cambridge University Press
€79.99
Available for download

Andrew W. Appel
Compiling with Continuations
Book
02/2007
Cambridge University Press
€115.20
Shipment within 15-20 days
Person
Content
Acknowledgements; 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.