Scala Katas

Here is the list of the available Scala Katas

Introduction to functional programming with Scala

Content

  • Immutability
  • Functions and recursion
  • Basic usage of immutable Lists (construction, pattern matching)

map/flatMap and for comprehension

Content

  • Monads
  • map, flatMap
  • relationship between for comprehension and map/flatMap
  • Examples: Lists, Option and Futures

Scala 2 'implicits' vs Scala 3 'given' and 'using'

Content

  • Scala 2 implicits
  • Scala 3 'using' and 'given'
  • Scala 3 'extension'

Monocle

Content

  • Case classes
  • Use Monocle to avoid boilerplate code when updating one Case class field in a tree-like structure

The type class pattern

Content

  • Presentation of the 'type class' pattern
  • Implement a 'CartesianProduct' typeclass

map and contramap

Content

  • Variance
  • map and the Functor type class
  • contramap and the Contravariant type class

Introduction to IOs

Content

  • Rules of functional programming
  • Effect types
  • The Cats effect IO type
  • Fibers
  • Parallelization

FS2

Content

  • Streaming files with fs2
  • Streaming a Kafka topic with fs2
  • Parallelization
  • Fs2 pipes

Run with GitHub codespace

Create a codespace