Jump to ratings and reviews
Rate this book

Algebra of Programming

Rate this book
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.

296 pages, Paperback

First published September 26, 1996

7 people are currently reading
197 people want to read

About the author

Richard S. Bird

8 books16 followers
Prof. Richard Simpson Bird is a computer scientist.

There are other authors named Richard Bird:
* Richard Bird — a horticultural expert and gardening author
* Richard Bird — a contemporary author
* Richard Bird — an early 20th-century author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
5 (26%)
4 stars
9 (47%)
3 stars
4 (21%)
2 stars
1 (5%)
1 star
0 (0%)
Displaying 1 - 5 of 5 reviews
Profile Image for Hugo Sereno Ferreira.
3 reviews29 followers
Want to read
August 21, 2014
This is a mind-blowing book. Mind you: if you come from a OO background, finishing the first chapter is enough for a brag-right. Notwithstanding, while reading this book, you'll have the constant feeling that programming will never be the same for you.
Profile Image for Manuel Hernández.
1 review
Read
October 9, 2014
So esoteric, but this is only because we are not used to deal with abstract mathematics;
it is a genial book, condensing thousand of disseminated papers. Great!
Profile Image for 0xd34df00d.
43 reviews8 followers
June 29, 2025
I have fairly mixed feelings about this book.

On the one hand, it's algebraic, and algebra is cool! I have read quite some textbooks and papers involving category theory, but this is the only source I've met introducing the notion of allegories. This alone makes it worth reading for me.

On the other hand, it's supposedly about programming as well, and here it fails to deliver IMO. After so much time spent on category theory (first five chapters!), applying it to actual problems (as much as algorithms-books-exercises are "actual problems") requires about the same amount of ad-hocery and ingenuity as your average college algorithms course. Perhaps it's a question of expectations, but I expected much more automated algorithm synthesis from the allegory-expressed spec.

Ended up thoroughly working out the theory and exercises from the first five chapters (the category-theoretic stuff), and skimming over the rest (the ad-hocery boring CS course stuff).

Do read if you're into algebra and category theory for their own sake. Do not read if you're into Cormen's "Introduction to algorithms".

Oh, and some exercises have typos, and a couple of them are effectively undoable with the amount of category theory introduced. Asking to derive the power objects for A^B when A has them? Sure, easy!
Profile Image for Carter.
597 reviews
August 11, 2020
I really don't know what to make of this. I heard a lot of things about this book but my understanding is this particular line of research was abandoned at some point by Bird and Moor and hasn't really been revived. There are some interesting tidbits but it does seem the results presented (program derivation via algebras) here don't seem to be particularly practical (work only on small examples and need to be done manually).
Profile Image for Brian.
45 reviews6 followers
November 1, 2008
This was just too hardcore for me the first time around... at some point in the middle I realize I'm reading a bunch of symbols and I have no idea what anything means so I had to stop. Will try again at some point...

Read it again; picked up a little more, but still just too dense and crazy for me.
Displaying 1 - 5 of 5 reviews

Can't find what you're looking for?

Get help and learn more about the design.