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

**Computational Category Theory**

by

**D.E. Rydeheard, R.M. Burstall**

The book is a bridge-building exercise between computer programming and category theory. Basic constructions of category theory are expressed as computer programs. It is a first attempt at connecting the abstract mathematics with concrete programs.

(

**18942**views)

**Concrete Semantics: With Isabelle/HOL**

by

**Tobias Nipkow, Gerwin Klein**-

**Springer**

The book teaches the reader the art of precise logical reasoning and the practical use of a proof assistant as a tool for formal proofs about computer science artefacts. All the mathematics is formalised in Isabelle and much of it is executable.

(

**6640**views)

**Compositional Semantics**

by

**Gary Hardegree**-

**UMass Amherst**

Contents: Basic Categorial Syntax; Shortcomings of Standard Categorial Syntax; Expanded Categorial Syntax; Examples of Expanded Categorial Syntax; Categorial Logic; Basic Categorial Semantics; Lambda-Abstraction; Expanded Categorial Semantics; etc.

(

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

(

**8155**views)