Certified Programming with Dependent Types
by Adam Chlipala
Number of pages: 371
Due in no small part to some bold but unfulfilled promises in the history of computer science, today most people who write software, practitioners and academics alike, assume that the costs of formal program verification outweigh the benefits. The purpose of this book is to convince you that the technology of program verification is mature enough today that it makes sense to use it in a support role in many kinds of research projects in computer science.
Home page url
Download or read it online for free here:
by Andrew Cumming - Napier University
Functional languages such as ML, Hope and Lisp allow us to develop programs which will submit logical analysis relatively easily. Using a functional language we can make assertions about programs and prove these assertions to be correct.
by David Mertz - O'Reilly Media
Python is not a functional programming language, but it is a multi-paradigm language that makes functional programming easy to perform. This book examines the functional aspects of the language and points out which options work well and which do not.
by Chris Okasaki - Carnegie Mellon University
This book describes data structures from the point of view of functional languages. The author includes both classical data structures, such as red-black trees, and a host of new data structures developed exclusively for functional languages.
by Mikael Vejdemo-Johansson - University of St. Andrews
An introduction to category theory that ties into Haskell and functional programming as a source of applications. Topics: definition of categories, special objects and morphisms, functors, natural transformation, (co-)limits and special cases, etc.