Originally published:
Prentice-Hall International Series in Computer Science, 1995
Republished 2012-09-19 in:
Reprints in Theory and Applications of Categories,
No. 22 (2012) pp. 1-538
http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf
Revisions posted 2013-11-05 and (this version) 2020-04-23.
Previous versions at
http://www.tac.mta.ca/tac/reprints/articles/22/tr22b.pdf
and
http://www.tac.mta.ca/tac/reprints/articles/22/tr22a.pdf