**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

**Program Analysis (an Appetizer)**

by

**Flemming Nielson, Hanne Riis Nielson**-

**arXiv.org**

This is an introduction to program analysis that is meant to be elementary. Rather than using flow charts as the model of programs, the book uses program graphs as the model of programs. This makes the underlying ideas more accessible to students.

(

**2277**views)

**Lectures on the Curry-Howard Isomorphism**

by

**Morten Heine B. Sorensen, Pawel Urzyczyn**-

**Elsevier Science**

This book give an introduction to parts of proof theory and related aspects of type theory relevant for the Curry-Howard isomorphism. It can serve as an introduction to any or both of typed lambda-calculus and intuitionistic logic.

(

**10707**views)

**Anatomy of Programming Languages**

by

**William R. Cook**-

**UT Austin**

This document is a series of notes about programming languages, originally written for students of the undergraduate programming languages course at UT. It assumes knowledge of programming, and in particular assume basic knowledge of Haskell.

(

**7371**views)

**The Design and Implementation of Probabilistic Programming Languages**

by

**Noah D. Goodman, Andreas Stuhlmüller**-

**dippl.org**

This book explains how to implement PPLs by lightweight embedding into a host language. We illustrate this by designing WebPPL, a small PPL embedded in Javascript. We show how to implement several algorithms for universal probabilistic inference.

(

**5753**views)