>Having only recently learned to use Monads and appreciate their
>utility, I am encountering new category-theoretic material in reading
>about arrows in Jansson and Jeuring's Polytypic Compact Printing and
>Parsing paper.  
>
>It strikes me that I should just get the basics under my belt rather than
>skipping ahead hear.  What is a good place to start learning the
>basics of category theory, monads, and algebra (as in algebraic types not
>high school math) for use in a programming context?  Books? Papers?
>Websites? 

I encourage you to acquire some familiarity with a related field first, e.g.,
universal algebra, topology or even type theory or logic, since category
theory is very abstract stuff ("abstract nonsense" is a commonly cited
description; of course, some people insist that category theory is more like
the abstract nonsense _behind_ the abstract nonsense).  Algebraic topology in
particular _really_ puts category theory in perspective, as I learned
recently.

There are a number of papers on introductory category theory available from
the SEL-HPC archive:

http://hypatia.dcs.qmw.ac.uk/SEL-HPC/Articles/FuncArchive.html

(This archive is apparently now defunct in the sense that no new articles are
being added, but all the listed papers still have links.)

In particular:

Jonathan M. D. Hill, and Keith Clarke, "An introduction to category theory,
category theory monads, and their relationship to functional programming"
,Technical report QMW-DCS-681, Department of Computer Science, Queen Mary &
Westfield College, Aug 1994.

M.M. Fokkinga, "A Gentle Introduction to Category Theory --- the calculational
approach" Lecture Notes of the STOP 1992 Summerschool on Constructive
Algorithmics , University of Utrecht, 1992.

E. Meijer, M.M. Fokkinga, and R. Paterson, "Functional Programming with
Bananas, Lenses, Envelopes and Barbed Wire" In Functional Programming &
Computer Architecture, pages 124--144, Springer-Verlag, 1991.

Also see:

C. Barry Jay, "An Introduction to Categories in Computing"

which is available from

http://www-staff.socs.uts.edu.au:8080/~cbj/Publications/publications.html

The bibliography gives pointers to several books.  I recommend the book by
Barr and Wells, the one by Asperti and Longo, and the one by Crole.  BW is the
most abstract.  AL is probably the most practical.  Crole is somewhere in
between.  The standard texts for mathematicians are the ones by MacLane and
Borceaux.

There is also a new book by F. Lawvere and Stephen someone---I can't remember
the name of the co-author or the book; I think it is "Mathematical Foundations
of Category Theory" or something---which takes a very, very elementary and IMO
unorthodox approach.

Also of interest is:

Joseph Goguen, "A Categorical Manifesto", Mathematical Structures in Computer
Science, Volume 1, Number 1, March 1991, pages 49-67.

which can be gotten from

http://www.cs.ucsd.edu/users/goguen/pubs/

It tries to develop intuitions for specific categorical concepts like functors
and colimits by means of examples.  You need to be vaguely familiar with the
concepts before it will be useful.

-- 
Frank A. Christoph
[EMAIL PROTECTED]


Reply via email to