Hi.

I would like to announce learn-by-doing course/tutorial I have created.

You can find it at https://github.com/dehun/learn-fp

Course is test-driven - you have stubs which you have to implement and pass all unit tests.

It is something like write yourself mini scalaz/cats.

It covers type classes, functors, applicatives, monads, foldable/traversable, monad transformers, free monads.

I am working on adding co-functors and co-monads right now.

It was heavily inspired by NICTA course(haskell) - I thought that Scala community will benefit from something like that but on Scala.

I would appreciate any feedback. PRs and suggestions are very welcome.

Thank you.