What is wrong?

Notice: Before sending an error with the download, please try the direct link first: Practical Foundations for Programming Languages. 2nd Ed


You must sign in to do that.

Forgot password?

Practical Foundations for Programming Languages. 2nd Ed

Practical Foundations for Programming Languages. 2nd Ed

Practical Foundations for Programming Languages. 2nd Ed

Score: ---- | 0 votes
| Sending vote
| Voted!

Book Details:

Publisher:Carnegie Mellon University
Pages:558 pages
Size:1.85 MB
License:Pending review


Types are the central organizing principle of the theory of programming languages. 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—follows naturally.

The purpose of this book is to explain this remark. A variety of programming language features are analyzed in the unifying framework of type theory. A language feature is defined by its statics, the rules governing the use of the feature in a program, and its dynamics, the rules defining how programs using this feature are to be executed. The concept of safety emerges as the coherence of the statics and the dynamics of a language.

In this way we establish a foundation for the study of programming languages. But why these particular methods? The main justification is provided by the book itself. The methods we use are both precise and intuitive, providing a uniform framework for explaining programming language concepts. Importantly, these methods scale to a wide range of programming language concepts, supporting rigorous analysis of their properties. Although it would require another book in itself to justify this assertion, these methods are also practical in that they are directly applicable to implementation and uniquely effective as a basis for mechanized reasoning. No other framework offers as much.

The book is divided into parts that are, in the main, independent of one another. Parts I and II, however, provide the foundation for the rest of the book, and must therefore be considered prior to all other parts. On first reading it may be best to skim Part I, and begin in earnest with Part II, returning to Part I for clarification of the logical framework in which the rest of the book is cast.



Loading comments...

Scanning lists...

The book in numbers

global rank

online since


rate score

Nothing yet...


Nothing yet...

Social likes

Nothing yet...



This may take several minutes


Countries segmentation

This may take several minutes

Source Referers

Websites segmentation


This may take several minutes