Advanced Scala

Abstract

In this course, we’ll dive deep into functional programming patterns and their implementations in Scala. We’ll also cover some popular libraries for functional programming in Scala like Cats, Shapeless and Monocle.

Target Audience

Scala developers, Team Leaders, Project Managers

Prerequisites

Good Scala Knowledge

Content

Recap:

  • Pattern Matching
  • For Comprehensions
  • Implicits

Functional Abstractions:

  • The Typeclass Pattern
  • Monoids
  • Functors and Composition
  • Lambda Type and Kind Projector
  • Monads

Immutability:

  • Introduction Lens
  • Monocle
  • The Global Variable Problem
  • The State Monad
  • State and Lenses

Generic Programming:

  • What is Generic Programming?
  • Introducing Shapeless
  • HLists and CoProducts
  • Poly
  • Working with Nat

Effects:

  • The Problem with Multiple Effects
  • Overview of MonadTransformers
  • The Free Monad
  • Introducing Eff
  • Composing Effects

Real-world Micro-services:

  • Building a Purely-Functional Micro-service

Zippers and Co-monads:

  • Introducing the Zipper Data-structure
  • Zippers as Co-monads
  • Co-monads vs. monads

Duration

3 days

Enroll Now
Contact us
Share: