[Haskell] Re: Teach theory then Haskell as example

Benjamin L.Russell DekuDekuplex at Yahoo.com
Wed Jan 14 06:05:38 EST 2009

On Wed, 14 Jan 2009 04:37:33 +0100, "Andrzej Jaworski"
<himself at poczta.nom.pl> wrote:

>Programmers learning Haskell should forget that they are programmers and try to think mathematically.

Along that line, then, for example, where would you place, say, _The
Haskell Road to Logic, Maths and Programming_ (see

That book does not seem to focus on category theory, though; would you
recommend an alternative book on that subject?  If so, then which of
the following would you recommend (these are just a few that I know

Category Theory Books:

Conceptual Mathematics: A First Introduction to Categories (Paperback)
An elementary introduction

An introduction to category theory in four easy movements
A somewhat informal, reportedly in-depth introduction to category
theory, which some students have described as being intricately

Category Theory by Magic
A somewhat more advanced text than _An introduction to category theory
in four easy movements_

Toposes, Triples and Theories
An often-referenced introduction to category theory, reportedly
discussing monads as "triples"

Categories and Computer Science
Reportedly a straightforward introduction to category theory, with
many examples from computer science

Arrow, Structures and Functors - The Categorical Imperative
According to the HaskellWiki page on category theory (see
http://haskell.org/haskellwiki/Category_theory), an out-of-print book
covering monads and the Yoneda lemma, with very little prerequisite

Category Theory Lecture Notes:

Category Theory Lecture Notes for ESSLLI
Distilled version of _Toposes, Triples and Theories,_ discussing
category theory from a computer science perspective

A Gentle Introduction to Category Theory - the calculational approach
Another set of lecture notes referenced on the HaskellWiki page on
category theory

One difficulty with the above titles is that they do not provide
Haskell-specific programming examples to help to illustrate the
concepts.  To address this problem, would you recommend books on
categorical programming with examples in Haskell?

Categorical Programming with Examples in Haskell:

Categorical Programming with Inductive and Coinductive Types
A thesis on categorical programming, exploring inductive and
coinductive types, and several programming constructs related to them
in Haskell

(Actually, I just discovered the last title on the above HaskellWiki
page on category theory.)

If you have any other specific titles to recommend in category theory,
for students of various levels of mathematical proficiency and
computer science background, I would be very interested.

I would believe that having specific Haskell code to help interact
with the categorical examples would help to motivate study of the
abstract theory for many programmers.  One problem that many people
have with studying abstract theory in isolation is that they often
tend to lose motivation unless they can see how the theory directly
relates to and influences the semantics and data structures in the
code.  Having specific examples of Haskell code to tie together
immediately with the abstract theory would most likely help to
motivate and maintain interest.

-- Benjamin L. Russell
Benjamin L. Russell  /   DekuDekuplex at Yahoo dot com
Translator/Interpreter / Mobile:  +011 81 80-3603-6725
"Furuike ya, kawazu tobikomu mizu no oto." 
-- Matsuo Basho^ 

More information about the Haskell mailing list