The Design of Functional Programs - A Calculational Approach
by Dr. Robert Richard Hoogerwoord
Publisher: Technische Universiteit Eindhoven 1989
Number of pages: 228
This document was started as a research to what extent functional programs can be designed in a calculational way. This should be possible because functional-program notations carry less operational connotations than their sequential counterparts do, functional-program notations more resemble "ordinary" mathematical formalisms than sequential-program notations do. This raised a question of whether the two ways of programming are really different: they might very well turn out to have more in common than one would expect at first sight. The results of this research are laid down in this document. This study is about programming, as a design activity; it is not about programming languages, formal semantics included, nor about implementations. This implies that this document discusses semantics and implementations only as far as needed for its purpose, namely the formulation of a set of rules for designing programs.
Download or read it online for free here:
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.
by Tomas Petricek, Jon Skeet, Yin Zhu - Manning Publications
Real World Functional Programming is a unique tutorial that explores the functional programming model through the F# and C# languages. The clearly presented ideas and examples teach readers how functional programming differs from other approaches.
by Robert Virding, Claes Wikstrom, Mike Williams - Prentice Hall PTR
A tutorial of Erlang, a concurrent, functional programming language. The emphasis of this book is on learning through example and a number of well known problems in designing and programming concurrent fault-tolerant real-time systems.
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.