**Practical Foundations for Programming Languages**

by Robert Harper

**Publisher**: Carnegie Mellon University 2016**Number of pages**: 580

**Description**:

This is a working draft of a book on the foundations of programming languages. The central organizing principle of the book is that programming language features may be seen as manifestations of an underlying type structure that governs its syntax and semantics. The emphasis, therefore, is on the concept of type, which codiļ¬es and organizes the computational universe in much the same way that the concept of set may be seen as an organizing principle for the mathematical universe. The purpose of this book is to explain this remark.

Download or read it online for free here:

**Download link**

(1.2MB, PDF)

## Similar books

**Semantics With Applications: A Formal Introduction**

by

**Hanne Riis Nielson, Flemming Nielson**-

**John Wiley & Sons**

The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs.

(

**10058**views)

**Proofs and Types**

by

**J. Girard, Y. Lafont, P. Taylor**-

**Cambridge University Press**

This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed.

(

**13648**views)

**Reasoned Programming**

by

**Krysia Broda et al**-

**Prentice Hall Trade**

The text for advanced undergraduate/graduate students of computer science. It introduces functional, imperative and logic programming and explains how to do it correctly. Functional programming is presented as a programming language in its own right.

(

**9690**views)

**Elements of Programming**

by

**Alexander Stepanov, Paul McJones**-

**Semigroup Press**

This book applies the deductive method to programming by affiliating programs with the abstract mathematical theories. Specification of these theories, algorithms and theorems and lemmas describing their properties are presented together.

(

**1990**views)