Gmail Calendar Documents Reader Web more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Message from discussion Book recommendations on underlying theory
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Benjamin L. Russell  
View profile  
 More options Jan 16, 3:48 am
Newsgroups: comp.lang.haskell
From: Benjamin L. Russell <DekuDekup...@Yahoo.com>
Date: Fri, 16 Jan 2009 17:48:35 +0900
Local: Fri, Jan 16 2009 3:48 am
Subject: Re: Book recommendations on underlying theory
On Mon, 12 Jan 2009 11:05:44 -0800 (PST), "jon.gallagher.04"

<jon.gallagher...@gmail.com> wrote:
>Me too.  I started on the Haskell Road, but had to stop when school
>started up again.  I actually got a copy of Introduction to functional
>programming using Haskell very recently, and it seems to cover some of
>the more subtleties of the language basics, but for the most part
>covers the kind of typical programming in haskell tutorial stuff.  So
>I decided to struggle through two papers: one by Varmo Vene called
>"Categorical Programming with Inductive and Coinductive types", and
>also "Functional programming with overloading and higher-order
>polymorphism" by Mark Jones.  I made the mistake of learning Haskell
>the way I learned java, which is fast.  In Haskell, you can get things
>done, sure, but the fun part is playing with ideas, and seeing such
>elegance in the construction.  So now, I am slowly going through these
>papers with the kind of deliberate reading that I approach classes
>like Real analysis with, and I think things are starting, very slowly
>to click.  I also found a paper which I may add to my list if I can
>figure out the conventions used "functional programming with bananas
>lenses, envelopes and barbed wire" by Erik Meijer, which seems to be
>in the citation list of so many papers, that I feel, I had better.

You may wish to read this related thread from the Haskell mailing
list:

[Haskell] Teach theory then Haskell as example
http://www.haskell.org/pipermail/haskell/2009-January/020929.html

(Be sure to read the related following three responses as well, since
they contain the bulk of the references.)

A possible issue with _The
Haskell Road to Logic, Maths and Programming_ (which I had actually
suggested in that thread), by Kees Doets and Jan van Eijck, is that it
isn't really related to category theory, which forms the theoretical
basis for Haskell.  It's more of a book that covers the prerequisite
background for building sufficient mathematical sophistication for
understanding the kind of mathematics that appears in category theory,
even though the book isn't really related to category theory.  In
particular, in the above-mentioned thread, Andrzej Jaworski responded
(see
http://www.haskell.org/pipermail/haskell/2009-January/020934.html) as
follows:

On Thu, 15 Jan 2009 05:12:19 +0100, "Andrzej Jaworski"

<hims...@poczta.nom.pl> wrote:
>Doets and Eijck show good approach but their mathematics is too trivial (e.g.
>combinatorics should be presented via lattice theory like Rota taught). They also miss the boat
>presenting Haskell (no higher gear at all).
He also wrote:
>[T]here are many very good
>articles addressing specific issues of Haskell's theoretical foundations (e.g.
>http://www.cs.ut.ee/~varmo/papers/thesis.pdf).  They however always assume more than they target to
>explain making student turn around them like a dog not knowing which ball to catch first.

I agree with this specific point:  Many such articles/papers are
dependent on parts of other publications, which can sometimes either
be dependent on other parts of the first publication, or on parts of
other publications.

Regarding this point, one other reader responded in private that the
problem "comes from trying to use academic papers as textbooks, a
purpose for which they're not usually designed."  As soon as I read
this, I thought, "Aha!  Exactly:  That is the problem."  Such academic
papers usually target other researchers, but not beginner students of
Haskell or even category theory, so they often assume material not
covered.

One solution seems to be to focus on books specifically targeting
beginner students of Haskell, or at least beginner students of
category theory.  The above-mentioned reader who responded in private
recommended the following lecture notes:

> Lambert Meertens' "Category Theory for Program Construction":

>   http://www.kestrel.edu/home/people/meertens/diverse/ct4pc.ps.gz
>   http://www.kestrel.edu/home/people/meertens/

(Note:  It can be convenient to use http://www.ps2pdf.com/convert.htm
to convert the PostScript file above, once gunzipped, to PDF format.)

Apparently, this paper is based on the paper "A Gentle Introduction to
Category Theory - the calculational approach," by Maarten M. Fokkinga
(see http://wwwhome.cs.utwente.nl/~fokkinga/mmf92b.pdf).

Apparently, Meertens has designed the exercises so that each one is
designed to be doable if all the previous ones have been done, and
some parts of the main text depend on the exercises, so this book may
take a long time to read.

However, he has chosen not to use commutative diagrams.  Every other
text on category theory that I have seen so far uses them in
abundance, but as Meertens explains, each one only relates to a
specific category, so they may be difficult to use in meta-categorical
discussion.  Also, it is refreshing to see an alternative approach.

One other set of lecture notes that I have also found to be accessible
is the following:

Category Theory Lecture Notes for ESSLLI
by Michael Barr and Charles Wells
http://www.math.upatras.gr/~cdrossos/Docs/B-W-LectureNotes.pdf

The main problem with such lecture notes is their length:  Meerten's
notes span 122 pages, and Barr and Wells' notes span 133 pages.  It is
difficult to find time to read and do all the exercises in over a
hundred pages of category theory while working full-time.

(Further, in my case, it would be easier if the exercises could be
done on a keyboard, instead of on pencil and paper, because I usually
use my spare time after work hours during lunch or at work to study
category theory, and don't have much table space.  However, writing
mathematical equations and proofs tends to be done much easier on
pencil and paper instead of on a keyboard.  I live about two and a
half hours from work, and don't have enough time or desk space to do
them at home, even on weekends.)

One especially elementary book on category theory that I could
recommend, which unfortunately is apparently only available in a
dead-tree version, is the following:

Conceptual Mathematics: A First Introduction to Categories (Paperback)
by F. William Lawvere and Stephen Hoel Schanuel
http://www.amazon.com/Conceptual-Mathematics-First-Introduction-Categ...

This book is reputed to be interesting even to non-mathematicians at a
philosophical level.  I myself have purchased a copy.

If anybody knows any other books or lecture notes on category theory
that specifically target beginner students of Haskell or category
theory, I would be interested.  In particular, I would be especially
interested in books for non-mathematicians that provide an elementary
discussion of category theory without requiring the student to use
pencil and paper to work through the exercises (requiring a keyboard
and editor to work through the exercises is acceptable).

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


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google