**A Practical Theory of Programming**

by Eric C.R. Hehner

**Publisher**: Springer 2006**ISBN/ASIN**: 0387941061**ISBN-13**: 9780387941066**Number of pages**: 243

**Description**:

Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication. The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications.

Download or read it online for free here:

**Download link**

(multiple PDF files)

## Similar books

**Let Over Lambda: 50 Years of Lisp**

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.

(

**12493**views)

**Lecture Notes on the Lambda Calculus**

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.

(

**6934**views)

**Formal Language Theory for Natural Language Processing**

by

**Shuly Wintner**-

**ESSLLI**

This text is a mild introduction to Formal Language Theory for students with little or no background in formal systems. The motivation is Natural Language Processing, and the presentation is geared towards NLP applications, with extensive examples.

(

**6185**views)

**Proofs and Types**

by

**J. Girard, Y. Lafont, P. Taylor**-

**Cambridge University Press**

This little book comes from a short graduate course on typed lambda-calculus given at the Universite Paris. It is not intended to be encyclopedic and the selection of topics was really quite haphazard. Some very basic knowledge of logic is needed.

(

**11630**views)