[Haskell] Re: Teach theory then Haskell as example
Dave Bayer
bayer at cpw.math.columbia.edu
Fri Jan 16 10:46:45 EST 2009
On Jan 16, 2009, at 2:00 AM, Apfelmus, Heinrich wrote:
> Rodney Price wrote:
>> So where do I as a practicing programmer and researcher go to learn
>> all
>> this stuff?
...
> In the long term, the aim of the Haskell Wikibook is to become a
> gentle
> introduction to "this stuff. It's nowhere near finished yet, but
> there's
> already some preliminary material
>
> http://en.wikibooks.org/wiki/Haskell/Category_theory
As a mathematician, Haskell has renewed my interest in category
theory. I had thought one learns category theory most easily at age
20, because it paints such an eviscerated view of flesh-and-blood
subjects like geometry, but at age 20 one doesn't care. Now, it is
clear to me that functional programming is THE application of category
theory. They're both about combining functions. If one wants to become
fluent at combining functions, one needs an operational understanding
of category theory, whether or not one likes the formal language.
I'm struck, reading various papers that translate functional
programming constructs back to category theory, how messy something
simple in Haskell has to look in classical category theory, because
Haskell is "higher order" and classical category theory is not.
What some people might like is a no-holds-barred intro to category
theory that updates it to fit Haskell, with a higher order
presentation reworking the theory to match current functional
programming practice. I'm the wrong person to try to write this, but I
may, to teach myself.
Among the intro texts out there,
\bib{MR1120026}{book}{
author={Pierce, Benjamin C.},
title={Basic category theory for computer scientists},
series={Foundations of Computing Series},
publisher={MIT Press},
place={Cambridge, MA},
date={1991},
pages={xiv+100},
isbn={0-262-66071-7},
review={\MR{1120026 (93c:18002)}},
}
is excellent, with a functional programming focus.
More information about the Haskell
mailing list