Foundations for Programming Languages (Foundations of Computing)
| John C. Mitchell (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
Written for advanced undergraduate and beginning graduate students, Foundations for Programming Languages uses a series of typed lambda calculi to study the axiomatic, operational, and denotational semantics of sequential programming languages. Later chapters are devoted to progressively more sophisticated type systems. Compared to other texts on the subject, Foundations for Programming Languages is distinguished primarily by its inclusion of material on universal algebra and algebraic data types, imperative languages and Floyd-Hoare logic, and advanced chapters on polymorphism and modules, subtyping and object-oriented concepts, and type inference. The book is mathematically oriented but includes discussion, motivation, and examples that make the material accessible to students specializing in software systems, theoretical computer science, or mathematical logic. Foundations for Programming Languages is suitable as a reference for professionals concerned with programming languages, software validation or verification, and programming, including those working with software modules or object-oriented programming.Foundations of Computing series
Customers who viewed this item also viewed
Customers who bought this item also bought
Editorial Reviews
Review
"Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essential for the understanding, comparative analysis, and design of programming languages."--Luca Cardelli, Digital Equipment Corporation
& quot; Programming languages embody the pragmatics of designing software systems, and also the mathematical concepts which underlie them. Anyone who wants to know how, for example, object-oriented programming rests upon a firm foundation in logic should read this book. It guides one surefootedly through the rich variety of basic programming concepts developed over the past forty years.& quot; -- Robin Milner, Professor of Computer Science, The Computer Laboratory, Cambridge University
& quot; Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essential for the understanding, comparative analysis, and design of programming languages.& quot; -- Luca Cardelli, Digital Equipment Corporation
" Programming languages embody the pragmatics of designing software systems, and also the mathematical concepts which underlie them. Anyone who wants to know how, for example, object-oriented programming rests upon a firm foundation in logic should read this book. It guides one surefootedly through the rich variety of basic programming concepts developed over the past forty years." -- Robin Milner, Professor of Computer Science, The Computer Laboratory, Cambridge University
" Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essential for the understanding, comparative analysis, and design of programming languages." -- Luca Cardelli, Digital Equipment Corporation
-- Luca Cardelli, Digital Equipment Corporation
-- Robin Milner, Professor of Computer Science, The Computer Laboratory, Cambridge University
Review
Programming languages need not be designed in an intellectual vacuum; John Mitchell's book provides an extensive analysis of the fundamental notions underlying programming constructs. A basic grasp of this material is essentialfor the understanding, comparative analysis, and design of programming languages.
―Luca Cardelli, Digital Equipment CorporationFrom the Back Cover
About the Author
I'd like to read this book on Kindle
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : The MIT Press (September 1, 1996)
- Language : English
- Hardcover : 868 pages
- ISBN-10 : 0262133210
- ISBN-13 : 978-0262133210
- Reading age : 18 years and up
- Grade level : 12 and up
- Item Weight : 3.3 pounds
- Dimensions : 9.28 x 7.36 x 1.85 inches
- Best Sellers Rank: #2,204,418 in Books (See Top 100 in Books)
- #460 in Discrete Mathematics (Books)
- #5,653 in Computer Programming Languages
- #10,327 in Computer Software (Books)
- Customer Reviews:
About the author

Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Be advised that this is definitely not a first book, and that most of the covered topics have simpler introductory treatments elsewhere. This book is mainly a pure semantics work, along the lines of Winskel, Gunter, Tennent, Slonneger, etc. It has no discussion of implementation techniques for any of the covered topics. For that, you're better off with Mitchell's other book, or Sethi or Friedman/Wand/Haynes. Topics covered are: axiomatic, structural operational, and denotational semantics, PCF (including the full abstraction problem), universal algebra, typed lambda calculi and their models (including imperative programs), the category-theoretic approach to domain theory, logical relations, and many chapters on type systems. Several of these topics are covered more extensively elsewhere (domains by Amadio & Curien, types by Pierce), but the coverage of each topic is fairly thorough here and scarily rigorous. There are many nice excercises at the end of every section.
There are some missing topics that I wish had been included: coinduction and material on concurrency, which are not even mentioned. You'll need to get Milner's or Sangiorgi's books for this (or deBakker + de Vink's _Control Flow Semantics_). As it is, though, the book is already nearly 850 pages long.
Overall, it's a very good textbook for a grad-level semantics course, and an excellent general reference.









