Category Theory and Computer Programming - Abramsky, S (Springer, 1986)