Introduction to Programming Languages
Publisher: Wikibooks 2013
This book is an attempt to describe a bit of the programming languages zoo. We use each of the particular languages to introduce fundamental notions related to the design and the implementation of general purpose programming languages.
Home page url
Download or read it online for free here:
by Peter Selinger - Dalhousie University
Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc.
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 Eric C.R. Hehner - Springer
Understanding programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. It describes a simple and comprehensive theory.