Nope, I’ve been using PS for years – even stumbling my way through writing libraries people actually use – and have only recently started understanding MTL (understanding is a strong word, I get by
). I’ve also never used a free monad, that I’m aware of. I did end up having to learn indexed monads to write a specific library, but didn’t need them before or after.
You’ll be able to do plenty just with these:
- basic types (defining them, pattern matching)
- functions (currying, forall, typeclass constraints)
- monads (do-notation, Effect, Aff, traverse)
- FFI (working with external javascript, unless you aren’t doing this then it doesn’t matter)
- tooling (spago mostly, sometimes pulp/bower/npm)
And when you’re comfortable with that stuff it’ll be a lot easier to look into a specific, more difficult topic as you need it.