Skip to content

Practical Foundations for Programming Languages

Best in textbook rentals since 2012!

ISBN-10: 1107029570

ISBN-13: 9781107029576

Edition: 2012

Authors: Robert Harper

List price: $54.99
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

Types are the central organizing principle of the theory of programming languages. In this innovative book, Professor Robert Harper offers a fresh perspective on the fundamentals of these languages through the use of type theory. Whereas most textbooks on the subject emphasize taxonomy, Harper instead emphasizes genetics, examining the building blocks from which all programming languages are constructed. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-defined programs -…    
Customers also bought

Book details

List price: $54.99
Copyright year: 2012
Publisher: Cambridge University Press
Publication date: 12/17/2012
Binding: Hardcover
Pages: 487
Size: 7.17" wide x 10.28" long x 1.18" tall
Weight: 2.2
Language: English

Judgments and Rules
Inductive definitions
Hypothetical judgments
Syntactic objects
Generic judgments
Levels of Syntax
Concrete syntax
Abstract syntax
Statics and Dynamics
Statics
Dynamics
Type safety
Evaluation dynamics
Function Types
Function definitions and values
Godel's system T
Plotkin's PCF
Finite Data Types
Product types
Sum patterns
Pattern matching
Generic programming
Infinite Data Types
Inductive and co-inductive types
Recursive types
Dynamic Types
The untyped 1-calculus
Dynamic typing
Hybrid typing
Variable Types
Girard's system F
Abstract types
Constructors and kinds
Indexed families of types
Subtyping
Subtyping
Singleton and dependent kinds
Classes and Methods
Dynamic dispatch
Inheritance
Control Effects
Control stacks
Exceptions
Continuations
Types and Propositions
Constructive logic
Classical logic
Symbols
Symbols
Fluid binding
Dynamic classification
Storage Effects
Modernized algol
Mutable data structures
Laziness
Lazy evaluation
Polarization
Parallelism
Nested parallelism
Futures and speculation
Concurrency
Process calculus
Current algol
Distributed algol
Modularity
Separate compilation and linking
Basic modules
Parameterized modules
Equivalence
Equational reasoning for T
Equational reasoning for PCF
Parametricity