/nephalem-fpinscala

Hello, my friend. Stay awhile and listen...

Nephalem guide through Functional Programing in Scala

Introduction

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