Skip to content
Scan a barcode
Scan
Hardcover Design Concepts in Programming Languages Book

ISBN: 0262201755

ISBN13: 9780262201759

Design Concepts in Programming Languages

Key ideas in programming language design and implementation explained using a simple and concise framework; a comprehensive introduction suitable for use as a textbook or a reference for researchers. Hundreds of programming languages are in use today--scripting languages for Internet commerce, user interface programming tools, spreadsheet macros, page format specification languages, and many others. Designing a programming language is a metaprogramming...

Recommended

Format: Hardcover

Temporarily Unavailable

4 people are interested in this title.

We receive fewer than 1 copy every 6 months.

Customer Reviews

4 ratings

An outstanding treatment of programming language theory

The book is about various concepts encountered in various kinds of programming languages: denotational and operational (BOS/SOS) semantics, issues of state and control, type systems, modules, modeling effects and compilation. Every concept is introduced by defining the semantics of a language that has this concept and exploring the design dimensions and issues of this concept and language. Concepts are gradually accumulated, and by the time you reach the chapter on modules you've got a CBV language with records, mutable state, polymorphic algebraic data types, a System F type system with type inference and a hint of dependent types, abstract data types and first-class dynamically loadable modules. The tools used for description are of course the good old denotational and operational semantics and typing judgements and derivation trees; but each element of those is clearly and succintly described in text; it happens to me all the time that I am reading a type reconstruction algorithm and wondering, "why does this rule have that restriction?" and it immediately turns out that in the next paragraph, the authors focus attention on why this rule has that restriction; just like if they were reading my thoughts. That's why this book feels very comfortable to me: I am absolutely sure that I won't encounter a point where I am lost and buried under the notation; but there is also not a single boring moment. I've been interested in functional programming and PL theory for 2-3 years already, and here's a brief list of the *new* things that I have learned, at least: - What do SOS and BOS mean, and why one should care, and what properties a SOS might posess (confluence and normalization, for instance) - How many features of languages can be defined in terms of simply desugaring, and how in some cases they can't - How one might use monadic style in the semantics metalanguage to greatly simplify the semantic rules for monadic concepts like state, control and error handling (the authors mention the word "monad" only once, but they use return- and bind-like operators in their semantics) - How powerful records are, and of what use are operators like "conceal" - What use is subtyping outside of OOP - How does one define CPS-style semantics and how such a style allows to add state, control and errors with minimal changes - How small yet powerful an OOP language core can be - How algebraic datatypes can be very useful even in a language without static typing - How pattern matching can be desugared into CPS-style deconstructors - How many caveats are there in defining typing rules, and how a small change in them can lead to very big changes in language expressiveness - How HM type inference actually works - Why purity is important for certain polymorphism issues - What let-polymorphism means - What effect systems are - How effect reconstruction works and how it is different from type reconstruction in nature - How effect inference can prove the exte

Fantastic book!

Really wonderful book, well-written, easy to read, covers many topics. Very formal and yet so readable. All code within the book is written in s-exps syntax, and the book covers topics such as type inference, monads etc. Need I say more? :-)

well worth the price

If you want to pursue PL in any detail, you might as well buy this book now because very soon most schools are going to start using it/recommending it as a text in grad-level intro PL courses. I used Winskell in grad school and had forgotten most of it. This book is definitely more accessible and covers a lot more material and is much more up-to-date with current research. It's a lot of fun to read and I predict its going to become *the* book in its field very shortly.

A recommendend read

MIT Press's massive new tome is excellently researched, thorough and a must-have for your deskside bookcase. Just make sure the shelf is sturdy enough for its 1,322 pages: This is not a book to carry in your hand luggage for your next airplane trip.... You can read my full review at blog.zeichick.org
Copyright © 2025 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks ® and the ThriftBooks ® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured