Types and Programming Languages / Edition 1

Hardcover (Print)
Buy New
Buy New from BN.com
Used and New from Other Sellers
Used and New from Other Sellers
from $51.41
Usually ships in 1-2 business days
(Save 39%)
Other sellers (Hardcover)
  • All (14) from $51.41   
  • New (8) from $68.19   
  • Used (6) from $51.41   


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.

Read More Show Less

What People Are Saying

From the Publisher
"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

"Written by an outstanding researcher, this book is well organized and very clear, spanning both theory and implementation techniques, and reflecting considerable experience in teaching and expertise in the subject."—John Reynolds,School of Computer Science, Carnegie Mellon University

"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

"Types and Programming Languages is carefully written with a well-balanced choice of topics. It focusses on pragmatics, with the right level of necessary theory. The exercises in this book range from easy to challenging and provide stimulating material for beginning and advanced readers, both programmers and the more theoretically minded."—Henk Barendregt, Faculty of Science,Mathematics, and Computer Science, University of Nijmegen, The Netherlands

"Over the last two decades type theory has emerged as the central,unifying framework for research in programming languages. But these remarkable advances are not as well-known as they should be. The rapid advance of research on type systems for programming languages has far outpaced its dissemination to the rest of the field. No more. Pierce's book not only provides a comprehensive account of types for programming languages, but it does so in an engagingly elegant and concrete style that places equal emphasis on theoretical foundations and the practical problems of programming. This book will be the definitive reference for many years to come."—Robert Harper, Professor, Computer Science Department,Carnegie Mellon UniversityPlease note: Endorser gives permission to use the final two sentences of the quote as his endorsement, if necessary.

Read More Show Less

Product Details

  • ISBN-13: 9780262162098
  • Publisher: MIT Press
  • Publication date: 2/1/2002
  • Edition description: New Edition
  • Edition number: 1
  • Pages: 648
  • Sales rank: 497,551
  • Product dimensions: 8.00 (w) x 9.00 (h) x 1.06 (d)

Meet the Author

Benjamin C. Pierce is Professor of Computer and Information Science at the University of Pennsylvania.

Read More Show Less

Table of Contents

1 Introduction 1
2 Mathematical Preliminaries 15
I Untyped Systems 21
3 Untyped Arithmetic Expressions 23
4 An ML Implementation of Arithmetic Expressions 45
5 The Untyped Lambda-Calculus 51
6 Nameless Representation of Terms 75
7 An ML Implementation of the Lambda-Calculus 83
II Simple Types 89
8 Typed Arithmetic Expressions 91
9 Simply Typed Lambda-Calculus 99
10 An ML Implementation of Simple Types 113
11 Simple Extensions 117
12 Normalization 149
13 References 153
14 Exceptions 171
III Subtyping 179
15 Subtyping 181
16 Metatheory of Subtyping 209
17 An ML Implementation of Subtyping 221
18 Case Study: Imperative Objects 225
19 Case Study: Featherweight Java 247
IV Recursive Types 265
20 Recursive Types 267
21 Metatheory of Recursive Types 281
V Polymorphism 315
22 Type Reconstruction 317
23 Universal Types 339
24 Existential Types 363
25 An ML Implementation of System F 381
26 Bounded Quantification 389
27 Case Study: Imperative Objects, Redux 411
28 Metatheory of Bounded Quantification 417
VI Higher-Order Systems 437
29 Type Operators and Kinding 439
30 Higher-Order Polymorphism 449
31 Higher-Order Subtyping 467
32 Case Study: Purely Functional Objects 475
Appendices 491
A: Solutions to Selected Exercises 493
B: Notational Conventions 565
References 567
Index 605
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)