
Dear Jacques,
You may be interested in browsing through the table of contents (and maybe
the actual contents) of the Haskell in Depth book by Vitaly Bragilevsky
https://www.manning.com/books/haskell-in-depth
It will soon be out from Manning (currently finishing the preview phase
called MEAP). It has a good selection of "advanced" topics (including ones
you mentioned) supported by a set of interesting projects.
--
Kind regards,
Artem
On Wed, Dec 16, 2020, 10:22 PM Jacques Carette
I will be teaching a second Haskell course next semester. Let's assume that
Introducing functional programming
Getting started with Haskell and GHCi
Basic types and definitions
Designing and writing programs
Data types, tuples and lists
Programming with lists
Defining functions over lists
Playing the game: I/O in Haskell
Reasoning about programs
Generalization: patterns of computation
Higher-order functions
Developing higher-order programs
Overloading, type classes and type checking
Algebraic types
(i.e. the first chapters of Thompson's Haskell: the Craft of Functional Programming book is "beginner, classic Haskell". The next few chapters, namely
Abstract data types
Lazy programming
Programming with monads
Domain-Specific Languages
Time and space behaviour
would be (re)done at the start of such a second course. The question for cafe is: what else? I will likely cover: - Typeclassopedia - finally tagless - Template Haskell - Optics - GADTs - recursion schemes
I should probably cover parser combinators, pretty-printing, cabal&stack. I know that http://dev.stephendiehl.com/hask/ gives me one heck of a smorgasbord of options, which is kind of a problem.
Things I know I will not cover: - dependent types (if I was going to do that, I'd switch to Idris/Agda) - concurrency (don't ask)
Jacques _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.