Practical Foundations for Programming Languages
by Robert Harper
Publisher: Carnegie Mellon University 2016
Number of pages: 228
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 codifies 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
The Design and Implementation of Probabilistic Programming Languagesby 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.
(9318 views)
Computational Category Theoryby 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.
(22067 views)
Understanding Programming Languagesby Monti Ben-Ari - John Wiley & Sons
The book explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions.
(19609 views)
Implementing Functional Languages: a tutorialby Simon Peyton Jones, David Lester - Prentice Hall
This book gives a practical approach to understanding implementations of non-strict functional languages using lazy graph reduction. It is intended to be a source of practical material, to help make functional-language implementations come alive.
(16135 views)