Compiling with Continuations Andrew W Appel 9780511609619 Books
Download As PDF : Compiling with Continuations Andrew W Appel 9780511609619 Books
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.
Compiling with Continuations Andrew W Appel 9780511609619 Books
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.
Product details
|
Tags : Compiling with Continuations [Andrew W. Appel] on Amazon.com. *FREE* shipping on qualifying offers. 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,Andrew W. Appel,Compiling with Continuations,Cambridge University Press,0511609612,Business applications,COMPUTERS Programming Languages General
People also read other books :
- Doing Digital Right Louis Lamoureux Books
- Prison Planet (Audible Audio Edition) William C Dietz Bill Quinn Audible Studios Books
- The Pumpkin Killer A Bakery Detectives Cozy Mystery edition by Stacey Alabaster Mystery Thriller Suspense eBooks
- The Basics Of Personality Disorders edition by Jan Van Dijk Religion Spirituality eBooks
- Paradise Lost John Milton Books
Compiling with Continuations Andrew W Appel 9780511609619 Books Reviews
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.
I haven't finished with this book yet, but it looks like a good book, and it was hghly recommended by
trusted people.
Read this book if you wish to understand continuations. It's the first source I've seen that emphasizes that continuations are not functions in the ordinary sense even though they look like functions, syntactically. If you only read papers and books that "sugar" continuations by calling them functions, you will never understand them because your intuitions about function calling will mislead you and you will find only paradoxes. You can only implement continuations if you have tail-call optimization (TCO). That's their little secret and that's why papers about them written by Schemers don't go out of their way to explain that they aren't ordinary functions. In Scheme, they ARE ordinary functions because Scheme requires TCO. But you will go mad trying to implement them or even trying to imagine how to implement them in most other programming languages. Continuations don't return and they don't push stack frames when you call them. They're more like a fixuppable goto with an environment containing assignments of value to variables. And that segue's to my second recommendation
Read this book if you want to understand closures.
This book has a LOT of meat. I'm only part way through this book, but am blown away with the potential of this technique. Definitely not for the beginner and this will require dedication and work to digest the learnings.
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.
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 Response to "∎ Libro Compiling with Continuations Andrew W Appel 9780511609619 Books"
Post a Comment