Gabriel Volpe in this article writes about his experience with Haskell. He introduced Haskell at his last job and wanted to put into practice all the stuff he learned: take the good, leave the bad.
Note: if you write Scala, many of the tips will also be useful for you.
The article covers:
- Configuration
- Production-ready effect: RIO (influenced by Michael Snoyman’s articles The ReaderT design pattern and The RIO Monad)
- Polymorphic record of functions
- Smart constructors
- Parametric reasoning
- Web server
… Web server is written using servant and it’s a pleasure to use. It also allows you to generate documentation from the API definition using swagger. Servant is a set of Haskell libraries for writing type-safe web applications but also deriving clients (in Haskell and other languages) or generating documentation for them, and more.
Parametric reasoning matters: ideally we should be able to tell what a function does by just looking at its type signature. Great read for anybody into functional programming or web development!
[Read More]