The Algebra Of Programming (Prentice-Hall International Series In Computer Science)
The Algebra of Programming (Prentice-Hall International Series in Computer Science)
This is the 100th. book in the Prentice Hall International Series in Computer Science.
It's main purpose is to show how to calculate programs. Describing an algebraic approach to programming based on a categorical calculus of relations, Algebra of Programming is suitable for the derivation of individual programs, and for the study of programming principles in general. The programming principles discussed are those paradigms and strategies of program construction that form the core of Algorithm Design. Examples of such principles include: dynamic programming, greedy algorithms, exhaustive search, and divide-and-conquer.The fundamentsl ideas of the algebraic approach are illustrated by an extensive study of optimisation problems.
From the Back Cover
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.