''Algebra of Programming '' by Richard Bird and Oege De Moor http://ec1.images-amazon.com/images/P/013507245X.01._AA240_SCLZZZZZZZ_.jpg ISBN 0-13-507245-X ''Describes an algebraic approach to programming that permits the calculation of programs. Introduces the fundamentals of algebra for programming. Presents paradigms and strategies of program construction that form the core of Algorithm Design. Discusses functions and categories; applications; relations and allegories; datatypes; recursive programs, optimization issues, thinning algorithms, dynamic programming and greedy algorithms. Appropriate for all programmers. -- Amazon Review '' ---- AlgebraOfProgramming is an algebraic approach to program calculation. The theory about RelationsAndAllegories is based on CategoryTheory with extra axioms on the sets of morphisms (HomSets). Some researchers view CategoryTheory as an alternative to SetTheory. The power of CategoryTheory is that it is universal and by moving from objects and morphisms to objects and HomSets we lose some of that UniversalExpressiveness. For more information about RelationsAndAllegories see The AlgebraOfProgramming, the book. -- HenrikLjung ---- CategoryBook