This is a very condensed introduction on the most important topics around FP in Scala.
This repository is meant to be scrolled tag by tag to go through the different topics with subsequent refinements.
- v01: Immutability vs mutability
- v02-v04: Fluent style through tap and pipe
- v05-v07: Side effects and substitution model
- v08-v14: Defining from scratch IO, Runtime, map, flatMap
- v15-v16: Simplify the code
- v17-v18: Power and responsibilities of side-effects is on the developer
- v19-v21: Functor, Applicative and Monad applied to our IO
- v22-v23: Path to Tagless-Final
- v24: Same program syntax works with our IO and ZIO with no changes