- 5 years of OOP in TypeScript
- Enjoyed React's shift towards functional paradigm
- Enjoyed RxJS
- Looked into Haskell and lisp, but can't find good places to use them: I tried Xmonad, and Emacs, but sorry, I didn't have a use case for neither of them.
- Had shallow experience in C/C#/Java/Python
- Enjoy programming as a creative activity; willing to spent lots of time honing my skills.
Consider Elm since you're familiar with building web UIs. You can try re-implementing a project. And it's Haskell-inspired.
Otherwise, I'd say learning FP is about first learning how to use algebraic data types (ATDs) and the typeclass pattern. Once these two things become clear, some of the common typeclasses like Functor and Monad will become easy to grok. And both of those concept can be explored in Elm.
I've read Grokking Simplicity too. It's very approachable book. Highly recommend it for JS/TS developers who want to learn FP!
[1] https://corecursive.com/teaching-fp-with-richard-feldman/
Edit: spelling
Check out the course Programming Languages by Dan Grossman on Coursera.
I learned a lot about functional programming from it.
It is a more frontend focussed https://reasonml.github.io/ which is all based on OCaml. It has the same awesome type system and all the FP goodies while providing easy TS/JS interop and convenient escape hatches.
It compiles (very fast) to highly efficient readable JS that you can use wherever.