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 <kmandpjlynch@verizon.net> 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
_______________________________________________ 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" <kmandpjlynch@verizon.net> 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 _______________________________________________ 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 <kmandpjlynch@verizon.net> 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
_______________________________________________ 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 <byorgey@seas.upenn.edu>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
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 <byorgey@seas.upenn.edu> 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 <jfredett@gmail.com> wrote:
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 <byorgey@seas.upenn.edu>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