@socks wait i thought the whole thing of Haskell was that it was category theory but programming? :0
@alexandria Well, sort of! There is a lot of category stuff involved but you don't need to know actual category theory (as in the branch of mathematics) to do it
And now that I'm studying actual category theory I'm seeing parallels and it's neat
@socks I thought the behaviour of monads was dependent on knowledge from category theory, so to use them properly you had to know it <:O
At least that's when i was last looking into it like 5 years ago lol
its what stopped me from learning it, I was like "im going to learn category theory first" and watched some lectures, then that slowly got shunted off my todo lol
@alexandria In my experience, not at all. You can absolutely use monads in Haskell without knowing what they are in the category theory sense!
@socks @alexandria To add anecdotal evidence to this, I learnt Haskell monads before learning category theory monads. And in one of our courses, we teach monads in functional programming and definitely don't assume category theory. (See https://lean-forward.github.io/logical-verification/2020/)
Basically, the only 2 parts of FP monads you need to understand category theory for, is why they have this name and why people say "a monad is just a monoid in the category of endofunctors, what's the problem?"
@Vierkantor @socks I think at that time I actually had the patience (read: being forced into a 30m train journey every day) to read about type theory, set theory, SPJ's book on making programming languages, and category theory
not only did i learn a bunch, but ive already forgotten like 90% of it 😂😂😂