News for hackers. Stuff that matters.
Re:A monad is a monoid in the category of endofunctors, what... by learneracct on Sunday February 10, 2019 @10:29AM (#19128114)
What are the steps to learning category theory? Preferably something with solutions so I can check my work?
Re:A monad is a monoid in the category of endofunctors, what... by gunnihinn on Sunday February 10, 2019 @01:36PM (#19129223)
I don't want to discourage you from learning things. If you think category theory might enrich your life, go for it. That said:

I have a PhD in mathematics in a field that uses quite a few category theoretic notions, so I've had extensive hardcore contact with the theory. After my PhD I converted to being a developer, and have by now quite a bit of experience doing that.

I have not once found category theory useful, beyond the absolute basics of the idea of a universal property, either in my work as a mathematician or as a developer, despite going on many expeditions to find some use for it.

I'm not saying category theory is not useful. I'm just saying you might do just fine without it.

Also, in an attempt to maybe say something useful, "Categories for the working mathematician" by MacLane is a good introduction if you know some maths already.

Re:A monad is a monoid in the category of endofunctors, what... by pizza on Sunday February 10, 2019 @11:08AM (#19128313)
With some consistent dedicated effort you could maybe go through Category Theory for Programmers https://github.com/hmemcpy/milewski-ctfp-pdf
Re:A monad is a monoid in the category of endofunctors, what... by mathgenius on Sunday February 10, 2019 @04:38PM (#19130209)
I would highly recommend the book by Lawvere and Schanuel: "Conceptual Mathematics: A First Introduction to Categories". It is a very down-to-earth introduction to category theory, written by two masters of the field.
Re:A monad is a monoid in the category of endofunctors, what... by smadge on Sunday February 10, 2019 @06:41PM (#19130891)
I second this recommendation! I agree with the sentiment expressed by some in these comments that intermediate category theory probably isn’t going to help you too much as a programmer. However the introduction to Category Theory in “Conceptual Mathematics” caused me to understand sum types, product types, algebraic data types, finite state automata, logic, and functions as objects in a new way. Additionally “Conceptual Mathematics” isn’t arcane or inaccessible they mention in the introduction (or maybe it was a review of the book) that a motivated high school student could use the book for self study.
Re:A monad is a monoid in the category of endofunctors, what... by throwawaymath on Sunday February 10, 2019 @11:06AM (#19128306)
You shouldn’t bother if your goal is to be a better functional programmer. Haskell’s use of category theory isn’t really the same as the formal category theory in mathematics. Some ideas have some conceptual overlap but that’s about it.

As a more practical point, trying to learn category theory without a good understanding of abstract algebra and linear algebra would be difficult. The material would seem very unmotivated and unintuitive. Math undergrads don’t typically encounter the subject except in an upper level topics course; more usually it’s a grad-level math course which requires a lot of exposure to abstract algebra.

Re:A monad is a monoid in the category of endofunctors, what... by umanwizard on Sunday February 10, 2019 @01:30PM (#19129183)
Why do you want to learn category theory?