Compiling with Continuations and over one million other books are available for Amazon Kindle. Learn more

Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Start reading Compiling with Continuations on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Compiling with Continuations [Paperback]

Andrew W. Appel
4.5 out of 5 stars  See all reviews (2 customer reviews)
List Price: CDN$ 86.95
Price: CDN$ 69.56 & FREE Shipping. Details
You Save: CDN$ 17.39 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.ca. Gift-wrap available.
Want it delivered Tuesday, April 22? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Kindle Edition CDN $62.99  
Hardcover --  
Paperback CDN $69.56  

Book Description

Feb. 12 2007 052103311X 978-0521033114 1
This book shows how continuation-passing style is used as an intermediate representation to perform optimizations 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. Prior knowledge of ML, however, 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 production of practical optimizing compilers for modern languages like ML. All the details of compiling are covered, including the interface to a runtime system and garbage collector.

Customers Who Bought This Item Also Bought


Product Details


Product Description

Review

"I recommend the book to language designers and implementors specializing in the functional paradigm." F.G. Pagan, Computing Reviews

Book Description

This 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.

Inside This Book (Learn More)
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

3 star
0
2 star
0
1 star
0
4.5 out of 5 stars
4.5 out of 5 stars
Most helpful customer reviews
5.0 out of 5 stars Enlightening Nov. 1 2012
Format:Paperback|Verified Purchase
One big insight I got from this book was the correspondence between continuation passing style and machine instructions. Once a program is converted to CPS without free variables, the result is a kind of low-level code where the parameters correspond to the fields of the machine instructions of the primitive operations allowed in CPS - including a parameter for what the address of the next instruction should be. Of course, CPU instruction sets don't specify the next program counter with every instruction, but it's an interesting way of looking at it.
Was this review helpful to you?
4.0 out of 5 stars Surprisingly readable, given the subject matter. June 18 1999
By A Customer
Format:Hardcover
This is a very nice little book, and I found it to be surprisingly readable. The book is nicely written. Standard ML is used to illustrate the technique of compiling a functional language using continuations as the primary intermediate representation. Lack of familiarity with ML is not particularly burdensome. I would like to have seen more discussion of other languages, though (Scheme?).
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com: 4.8 out of 5 stars  5 reviews
19 of 19 people found the following review helpful
4.0 out of 5 stars Surprisingly readable, given the subject matter. June 18 1999
By A Customer - Published on Amazon.com
Format:Hardcover
This is a very nice little book, and I found it to be surprisingly readable. The book is nicely written. Standard ML is used to illustrate the technique of compiling a functional language using continuations as the primary intermediate representation. Lack of familiarity with ML is not particularly burdensome. I would like to have seen more discussion of other languages, though (Scheme?).
10 of 10 people found the following review helpful
5.0 out of 5 stars This book changed my life Nov. 2 2008
By Matthew Fuchs - Published on Amazon.com
Format:Paperback
I found this book while trying to build a interpreter for a distributed language. Appel's approach not only solved my immediate issues (a uniform means of procedure call in the presence of mobility) but opened my mind to the utility of continuations in many areas of CS. It was a real mind opener, and the explanations were clear enough that I could adopt this approach with little difficulty.
6 of 6 people found the following review helpful
5.0 out of 5 stars Surprisingly relevant given its age June 20 2011
By Brian L. - Published on Amazon.com
Format:Paperback|Verified Purchase
This book was fantastic. It opened my mind to a different mindset towards the compilation process while at the same time demystifying many concepts that I had previously only partially understood.

It is clear, concise, well-written, and unusually approachable for its genre. That said, I recommend some familiarity with ML-family languages as a prerequisite for approaching the book. He does include an appendix that's supposed to explain ML, but there are plenty of subtleties that I would have easily missed if that were my only resource.

This book doesn't discuss the front end of the compiler at all--there is no discussion of lexical analysis, parsing or type inference. If that's what you're after, look elsewhere. This is text is limited to the back end of the compiler.

The biggest quibble that I have with it is that the code generation chapter used MIPS/MAX/SPARC/68020 for case studies. In today's climate, ARM/x86/LLVM would be far more relevant and practical. This is an unfortunate consequence of the age of the text.
5.0 out of 5 stars Still the best book for people implementing a strongly-typed functional language June 2 2011
By Lars Bergstrom - Published on Amazon.com
Format:Hardcover|Verified Purchase
After all these years, this book remains the best source for anyone implementing a strongly-typed functional language. Providing an excellent introduction to all of the basic transformations (CPS), optimizations (contraction, CSE, call site optimization, etc.), and basic compilation techniques (closure conversion, etc.), this book holds everything you need to go from an initial AST to generating x86 code.

Naturally, it would be nice to have an update that touches on control-flow analysis-based optimizations or provides more detailed backend examples using MLRISC or LLVM. But for the time it was written, this book has stood up remarkably well.
0 of 9 people found the following review helpful
5.0 out of 5 stars I'm still getting into it June 24 2010
By Lawrence Maturo - Published on Amazon.com
Format:Paperback|Verified Purchase
I haven't finished with this book yet, but it looks like a good book, and it was hghly recommended by
trusted people.
Search Customer Reviews
Only search this product's reviews
ARRAY(0xabb36420)

Look for similar items by category


Feedback