|
 |
|
 |
 |
Types and Programming Languages
|
by Benjamin C. Pierce
Sales Rank: 160408
|
Discount: 19 %
$46.51
At Amazon

|
|
Hardcover: 645 pages
Publisher: The MIT Press February 1, 2002
Language: English
ISBN-10: 0262162091
ISBN-13: 978-0262162098
Product Dimensions:
9.1 x 8.3 x 1.5 inches
Shipping Weight: 2.9 pounds
Product Review
"Types are the leaven of computer programming; they make it digestible. This excellent book uses types to navigate the rich variety of programming languages, bringing a new kind of unity to their usage, theory, and implementation. Its author writes with the authority of experience in all three of these aspects." --Robin Milner, Computer Laboratory, University of Cambridge
Book Description
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of type systems--and of programming languages from a type-theoretic perspective—-has important applications in software engineering, language design, high-performance compilers, and security. This text provides a comprehensive introduction both to type systems in computer science and to the basic theory of programming languages. The approach is pragmatic and operational; each new concept is motivated by programming examples and the more theoretical sections are driven by the needs of implementations. Each chapter is accompanied by numerous exercises and solutions, as well as a running implementation, available via the Web. Dependencies between chapters are explicitly identified, allowing readers to choose a variety of paths through the material. The core topics include the untyped lambda-calculus, simple type systems, type reconstruction, universal and existential polymorphism, subtyping, bounded quantification, recursive types, kinds, and type operators. Extended case studies develop a variety of approaches to modeling the features of object-oriented languages.
Customer Reviews & Comments
I need basic information on type safety, theory of object oriented typing, and how to axiomatize nonstandard kind of typing systems. I need it now, in a form that I can put to use without too many side trips This book is almost what I was looking for. It builds up a semantic logic based on lambda calculus, then creates typed versions. Pierce really does work very methodically up through the levels, ending at about the place where C++ templates and recursive type definitions start. Along the way, he's careful to match the typing axioms to semantics, covering unusual topics like exceptions and type inference while he's at it. Almost what I was looking for, but not quite. As I said, I have immediate needs, and I'm not into theory for its own sweet sake. That means I had little appreciation for all the chapters that created arithmetic all over again, starting from Peano axioms (or something like), via the lambda calculus. I know that low-level axiomatizations and lambda calculus are much beloved of the theoreticians, but I encounter them only rarely, and when I was trying to get something else done, like now. For me, they created a diversion blocked by an impediment. Also, however convenient it may be for theory, functional programming is mostly a journal-page peculiarity in industrial practice. I admit, analysis of functional programs pushed me into insight I might have missed, but I would probably have been quite happy dealing with assignment formalisms instead. I almost gave this three stars, because its unnecessary notational baggage and off-main-stream topics weren't doing my job. Bruce's book (ISBN 026202523X) was a much more profitable use of my time. Still, Pierce's goals weren't mine, and the mansion of type analysis has many rooms. Not all of those rooms are furnished to my taste, and don't need to be. I rounded up to four stars for what it meant to do. //wiredweird
Comment | Permalink |
(Report this)
|
Types and Programming Languages
Discount: 19 %
Available from Amazon
Price: $46.51

| |
|
|
|
|