Over the years working with Scala, building large-scale projects, mentoring people and going to various Scala meetups I come with terms that probably most influential book in Scala ecosystem is: Functional Programming in Scala by Paul Chiusano and Runar Bjarnason
Usually referenced just as Red Book, it is a great read for getting up the speeds with, among others things, concepts like pure functions, functional data structures, property-based testing, and infamous monads. Probably because of its density, some parts of the book are a hurdle for some Scala nephalems.
I decided to go through book one more time and document my experience through a series of Twitch videos. As I'm a fan of Diablo series and Twitch is mostly used as a streaming service for gamers, I decided to map the Red Book book to Diablo I. Videos will be focusing on exercises from the book and I will try to give my explanations why these exercises are useful and what should we take from them.
We will together explore:
- Cathedral - Introduction to Functional Programming
- Catacombs - Functional Design and Combinator Libraries
- Cave - Common Structures in Functional Design
- Hell - Effects and I/O
I will be using repo that follows book as guide. It is recommended to have a copy of Red Book, as I'm going to reference it. Think about this experiment as book reading club where we meet and I go through exercises using my Intellij Idea, and this repo as a place where you can find notes from our meetups.
So to folllow heros adventures against lord of evil I suggest:
- get Functional Programming in Scala
- check out this repo
- load project into Intellij Idea (you can get community edition with sbt plugin)
- meet me at Twitch