Functional programming quick start

Functional programming lends its features to code that is simple, concise, less error-prone and easier to grasp. It has seen a major rise in recent years not by accident. However, even A-players with an object-oriented background can struggle with the shift in paradigm. We provide a comprehensive quick start to get your team up and running.

Contents

  • Principles of functional programming
    • Functions as first-class citizens
    • Immutability
    • Totality & referential transparency
    • No side-effects
  • Concepts
    • Algebraic data types
    • Type classes
    • Functors & monads
    • Recursion schemes
    • Type-level programming
  • Pragmatic FP with Scala, PureScript, Typescript, Dhall