Skip to main content
Post Made Community Wiki by Todd Trimble
Added tags to describe the nature of the post (post was bumped)
Link
gmvh
  • 3.8k
  • 6
  • 33
  • 54
Source Link

Resources for learning practical category theory

I've been doing functional programming, primarily in OCaml, for a couple years now, and have recently ventured into the land of monads. I'm able to work them now, and understand how to use them, but I'm interested in understanding more about their mathematical foundations. These foundations are usually presented as coming from category theory. So we get explanations such as the following:

A monad is a monoid in the category of endofunctors.

Now, my goal (partially) is to understand what that means. Can anyone suggest a gentle introduction to category theory, particularly one aimed at programmers already familiar with a functional language such as ML or Haskell, with references for further reading? Resources not necessarily aimed at programmers but accessible to readers with a background in discrete math and first-order logic would be quite acceptable as well.