
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick

Category Theory turns function like entities (e.g. procedures -
functions with side effects) into functions so that they can be
composed like mathematical functions.
On Sun, Feb 10, 2013 at 9:44 AM, Patrick Lynch
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- -- Regards, KC

I'm a fan of Basic Category Theory for Computer Scientists, by Benjamin Pierce.
I can't say it had an immediate payoff for learning Haskell, but it's been helpful longer-term.
Tom
On Feb 10, 2013, at 12:44 PM, "Patrick Lynch"
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners

From "Steps in Scala - An Introduction to Obejct-Functional Programming". Christos K. K. Loverdos and Apostolos Syropoulos, 2010.
Section 3.13 pages 163,164
Monads are mathematical structures that were introduced in homological algebra
and later they were introduced in category theory. Eugenio Moggi [53]
was probably
the first researcher who used monads in structuring semantic descriptions of
features such as state and exceptions. Philip Wadler [76] established
a connection
between list comprehensions and monads that led to a generalization of
list comprehensions to an arbitrary monad. This feature was employed
to express concisely in pure functional programming languages programs
that handle exceptions, parse text files, etc. Although it is not
necessary to have a solid background in category theory in order to
understand the various ideas described in the rest of this section,
still we believe it is better to be familiar with some basic notion of
category theory.
In this section we will introduce the reader to these ideas. Readers who are
either familiar with category theory or simply do not want to bother with these
mathematical notions, can safely skip this section and ignore all
future references
to categories.
Categories in a nutshell Categories were first introduced by Samuel Eilenberg
and Saunders Mac Lane. In a nutshell, a category can be viewed as a mathematical
universe. There are many categories and each of them consists of entities,
which have the same nature, and ways to pass from one entity to another. Also,
there are ways to pass from one category to another. In addition, it
is possible to
transform these ways from one category to another while preserving
their internal
structure.
A functor is away to go from one category to another that preserves
the categorical
structure of its domain.
There is a lot more.
On Sun, Feb 10, 2013 at 9:44 AM, Patrick Lynch
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- -- Regards, KC

On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote:
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
Can you tell us which books you've tried to read? -Brent

On Mon, Feb 11, 2013 at 10:37 AM, Brent Yorgey
On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote:
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
Can you tell us which books you've tried to read?
-Brent
Well Brent is not going to say it I guess so someone needs to: Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia is required reading

While we await a reply, I will say that I found Benjamin Pierce's "Basic Category Theory for Computer Scientists" pretty readable, but will also readily admit my understanding of CT is not particularly deep or great. There are also some videos on youtube, particularly by [error792](1) which are worth watching, though they approach from a more math-oriented perspective (the video-author is a Mathematics Grad Student). One thing that helped me a lot was learning a bit about Combinatorial Species -- I come from a math background, so having something firmly abstract to grab onto wrt examples of CT in use was (and is) useful, Brent has a [nice suite of posts](2) on the matter, and I'm sure will have some book/paper recommendations, I linked to just one of the posts on his blog, I'm sure you can navigate to the others. The trick, I think, to learning CT is to realize it's a lot like Set theory -- there's a lot of abstract nonsense and definition shuffling (which error792's videos, iirc, note as "Soft Theorems"), and very little (immediate) connection to reality/more concrete tools. However, CT provides a framework of understanding which acts kind of like a highway-of-abstraction. When I can say, "A combinatorial species _is_ an endofunctor on the category of Sets and their Bijections", I necessarily know that if I can translate that category into another thing, then I can use my knowledge of species to inform my knowledge of that thing. I'm probably telling this story wrong in some way, perhaps (if we don't mind a bit of thread hijacking) someone can improve my understanding of CT by correcting my likely and inevitable mistakes. /Joe (1) http://www.youtube.com/user/error792 (2) http://byorgey.wordpress.com/2012/11/20/combinatorial-species-definition/
On Mon, Feb 11, 2013 at 10:37 AM, Brent Yorgey
wrote: On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote: Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
Can you tell us which books you've tried to read?
-Brent
Well Brent is not going to say it I guess so someone needs to: Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia is required reading _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners

I can't help the OP unfortunately, but I find this topic to be pretty
interesting. I'd be interested in exploring the mathematical foundations of
CT.
So, looking at this from a different aspect, what mathematics book /
knowledge would I need in order to make Mac Lane's "Categories for the
Working Mathematician" reasonably accessible, assuming UK A-Level further
mathematics level or equivalent has been attained?
Si
On Mon, Feb 11, 2013 at 2:47 PM, Joe Fredette
While we await a reply, I will say that I found Benjamin Pierce's "Basic Category Theory for Computer Scientists" pretty readable, but will also readily admit my understanding of CT is not particularly deep or great. There are also some videos on youtube, particularly by [error792](1) which are worth watching, though they approach from a more math-oriented perspective (the video-author is a Mathematics Grad Student).
One thing that helped me a lot was learning a bit about Combinatorial Species -- I come from a math background, so having something firmly abstract to grab onto wrt examples of CT in use was (and is) useful, Brent has a [nice suite of posts](2) on the matter, and I'm sure will have some book/paper recommendations, I linked to just one of the posts on his blog, I'm sure you can navigate to the others.
The trick, I think, to learning CT is to realize it's a lot like Set theory -- there's a lot of abstract nonsense and definition shuffling (which error792's videos, iirc, note as "Soft Theorems"), and very little (immediate) connection to reality/more concrete tools. However, CT provides a framework of understanding which acts kind of like a highway-of-abstraction. When I can say, "A combinatorial species _is_ an endofunctor on the category of Sets and their Bijections", I necessarily know that if I can translate that category into another thing, then I can use my knowledge of species to inform my knowledge of that thing.
I'm probably telling this story wrong in some way, perhaps (if we don't mind a bit of thread hijacking) someone can improve my understanding of CT by correcting my likely and inevitable mistakes.
/Joe
(1) http://www.youtube.com/user/error792
(2) http://byorgey.wordpress.com/2012/11/20/combinatorial-species-definition/
On Mon, Feb 11, 2013 at 10:37 AM, Brent Yorgey
wrote: On Sun, Feb 10, 2013 at 12:44:11PM -0500, Patrick Lynch wrote:
Good morning, I've tried to read 5 books on Category Theory and finally have admitted defeat. What I'm looking for is simply a book that is geared to Haskell and Category that can be understood by mere mortals. I was trained as an Electrical Engineer, so my math is quite good, but I just don't get Category Theory from these books. If anyone can recomment a book on Category Theory and Haskell, written by a Computer Scientest [no more Mathematicians for me], I welcome it. Thanks, Patrick
Can you tell us which books you've tried to read?
-Brent
Well Brent is not going to say it I guess so someone needs to: Typeclassopedia http://www.haskell.org/haskellwiki/Typeclassopedia is required reading _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
participants (7)
-
amindfv@gmail.com
-
Brent Yorgey
-
Joe Fredette
-
KC
-
Patrick Lynch
-
Rustom Mody
-
Simon Peter Nicholls