by Krysia Broda et al
Publisher: Prentice Hall Trade 1994
Number of pages: 311
The book is divided into two complementary parts, the first on Programming and the second on Logic. Though they are both about logical reasoning, the first half concerns the ideas about programs that the reasoning is intended to capture, while the second half is more about the formal machinery. The distinction is somewhat analogous to that often seen in books about programming languages a first part is an introduction to programming using the language, and a second part is a formal report on it. To read the book from scratch, one would most likely read the two parts in parallel, and this is in fact how the material was used for the computer science course at Imperial College. However, the division into two reasonably disjoint parts means that people who already have some background in logic can see the programming story told without interruption.
Home page url
Download or read it online for free here:
by Noah D. Goodman, Andreas Stuhlmüller - dippl.org
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 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.
by Doug Hoyte - Lulu.com
One of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. This book is about macros, that is programs that write programs.