Type Systems for Programming Languages
by Robert Harper
Number of pages: 199
These notes were prepared for use in the graduate course Computer Science 15–814: Type Systems for Programming Languages at Carnegie Mellon University. Their purpose is to provide a unified account of the role of type theory in programming language design and implementation. The stress is on the use of types as a tool for analyzing programming language features and studying their implementation. The course studies the theory of type systems, with a focus on applications of type systems to practical programming languages. The emphasis is on the mathematical foundations underlying type systems and operational semantics. The course includes a broad survey of the components that make up existing type systems, and also teaches the methodology behind the design of new type systems.
Download or read it online for free here:
by Robert Harper - Carnegie Mellon University
This is a book on the foundations of programming languages. The emphasis is on the concept of type, which organizes the computational universe in the same way that the concept of set may be seen as an organizing principle for mathematics.
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.
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.
by Bill Hails
This book presents an informal and friendly introduction to some of the core ideas in modern computer science, using the programming language Perl as its vehicle. The book takes the form of a series of working interpreters for the language PScheme.