If you are writing a medium-sized Haskell for the very first time, you will typically end up with three modules: Types.hs, Utils.hs and Main.hs. While this is a very clear split, it typically doesn't scale very well as applications become larger.
In this beginners talk, Jasper will share with you some practical ways to organise code in Haskell applications. Some of the questions Jasper will answer include:
• When is it a good idea to use something like Monad/Applicative (and when is it not)
• When is it a good idea to invent my own typeclass (and when is it not)
• How do I design interfaces and services like in OOP?