This is a scattered collection of resources I found useful when learning about functional programing. All resources are digital and free.
I figured that rather than trying to make my own series about purely functional programming, it would be better to recycle excellent material by others that already exists.
Beginner language
Haskell is without a doubt one of the most relevant languages in purely functional programming. Unfortunately, it's ecosystem is rather hard to go through if it is your first language, and it has some features that are nice, but can be daunting to begin with.
-
Elm a simple language for frontend development. If you're going to use the resources on this page with Elm, note that Elm uses
map
with functors andandThen
with monads.
Functional programming patterns
- Functional programming design patterns by Scott Wlaschin will give you a basic understanding of various constructs in FP, such as functors and monads, without going into formalisms.
- Orthogonal functional programming by John A De Goes sets out a guideline for writing nice libraries.
Category theory
Category theory is the study of composition. Programming is composing basic functions into complex systems. Category theory helps us understand how to do so correctly. This is very much optional when learning functional programming.
- Category Theory in Life by Eugenia Cheng, video An easy to understand, but not technically accurate presentation about category theory. Could give you a reasonable basic feeling for the subject.
- Category Theory for Programmers by Bartosz Milewski, book This seems to be the golden standard everybody is using. The book that taught me most of what I know about category theory.
Top comments (2)
Another great resource by Scott Wlaschin is his site F# for fun and profit.
Available as an offline ebook!