4 ms·
Ask HN: Where to learn “advanced” concepts in Functional Programming
I have only recently started delving into functional programming seriously (for a little over past half year), and I see people talk about things like monads, and applicatives, and arrows, and ... (you get the idea).
I can code an work quite well in functional programming languages like Haskell, Scala, OCaml etc, and have been able to handle scenarios where such ideas are used, but it has been in an ad-hoc-based-learning way.
I'm basically looking for a good place to start reading all these more "advanced" topics/concepts in Functional Programming, so as to get a more serious grasp on them.
I would be grateful for any books/videos/talks/etc. which might have the same.
- dozzie 10y agoWrite. All those concepts don't matter if you don't have where to apply them, and if you do have use for them, you'll learn them soon enough. It was quite visible with a nice paradigm of aspect-oriented programming dozen years ago (from imperative programming field); it looked like a good idea, but there was nowhere to put that into use sensibly, and AOP eventually died.
- bbcbasic 10y agoI'm not so sure AOP is dead. It solves a real pain point, with the canonical method of implementing this in C# being attributes.
- bbcbasic 10y agoThe best way to learn monads is to ignore the IO one for now, and learn what >>= and return does for each "pure" one individually. E.g. Maybe, List, Either etc. With enough examples understand you will understand the pattern. At various points you may want to check you understand what the type system is doing in the implementation.
- sotojuan 10y agohttp://haskellbook.com/ http://haskellbook.com/