| >but when working on material like this on your own it is a slog because both of these courses are designed to be taught live. So beware. However they are probably the best courses available online. Definitely, this is why we're working on a book. We acknowledge cis194 and NICTA course are difficult and designed to be done as part of a class. That's also why we suggest Thompson's book as a fallback. There isn't a book designed for an independent reader that we're happy with at present. >The NICTA course contains hard exercises building various functors, including transformers These things must be covered if you want to use Haskell in anger. One thing I would change in NICTA course if given the option is to make the transformers tutorial have a smoother ramp. State/StateT could be built up to via Writer/Reader and the transformer versions thereof. That the NICTA course confronts these (Functor, Applicative, Monad, Monad transformers) and is rigorous in covering the basics along with those topics is what makes it so valuable. Most other materials either don't cover them or don't provide proper exercises. "Show & Tell" is not good enough for getting people comfortable with these tools and sadly that's the mistake a lot of resources for Haskell make. You have to make exercises that make learners manipulate and see the structure of how these things work. |
I think the difficulty is a rite of passage to become a functional programmer, however smoother ramps would help, and I am sure your book will be a great help and is much needed.