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
![Book cover: Formal Languages](images/8531.jpg)
by Keijo Ruohonen - Tampere University of Technology
In these notes the classical Chomskian formal language theory is fairly fully dealt with, omitting however much of automata constructs and computability issues. Surveys of Lindenmayer system theory and the mathematical theory of codes are given.
(9490 views)
![Book cover: Semantics: Advances in Theories and Mathematical Models](images/8893.jpg)
by Muhammad Tanvir Afzal (ed.) - InTech
The book is a blend of a number of great ideas, theories, mathematical models, and practical systems in the domain of Semantics. Topics include: Background; Queries, Predicates, and Semantic Cache; Algorithms and Logic Programming; etc.
(9891 views)
![Book cover: Lectures on the Curry-Howard Isomorphism](images/6048.jpg)
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.
(11862 views)
![Book cover: Programming and Programming Languages](images/10599.jpg)
by Shriram Krishnamurthi - Brown University
Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them. The other book is an introduction to programming languages.
(8427 views)