Hacker News new | past | comments | ask | show | jobs | submit login

Hi,

I'm new here :)

Each time I see something like that, I think it looks great, but I'm having a hard time understanding the meaning of the vocabulary used…

Is there any good (free?) resources out there to learn Monoids, Monads, traits, category theory, in short, anything used in functional languages?

This is something that clearly stops me from using functional languages more.




There are a million monad tutorials for Haskell (and, with respect to their use in Haskell, it's probably better to learn them from there). I think that a good one is "You Could Have Invented Monads!".

This[1] is a good paper about monads in functional programming. It reads quite similarly to a monad tutorial, but with a little more formality.

As for actual category theory, I've enjoyed the first few chapters of "Algebra: Chapter 0", by Aluffi.

If you're after more type theory, the usual recommendations are "Types and Programming Languages", by Pierce, and "Software Foundations", also by Pierce.

[1] http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...


I'd suggest http://eed3si9n.com/herding-cats/ . Though a lot of the time I find it's best to wait until you have a concrete use case, otherwise the concept is too abstract to make sense.



My aim is for this series to be such a resource :) http://philipnilsson.github.io/Badness10k/

If you feel it's still too opaque, feel free to let me know anything specific and I will try to amend the articles with further explanation.

Categories/Functors/Monads will appear in the series in the future, as these arise as generalizations of topics discussed so far.


Look around https://bartoszmilewski.com

Has articles about Category Theory, Monads, etc... for beginners.


If you're looking for textbooks, Abstract and Concrete Categories—The Joy of Cats[0] by Adámek, Herrlich, and Strecker provides a nice introduction and is freely available as a PDF download.

[0] http://katmat.math.uni-bremen.de/acc/acc.pdf




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: