Skip to content

fkowal/fp-course

Repository files navigation

Agenda

  • Intro
  • Problem specification (solution FP with Spring)
    • fp/spring
  • Intro to Scala
    • test/fp/basics
    • test/fp/typeclasses/MaybeSpec
  • Get to know your Typeclasses
    • fp/typeclasses/
      • ShowSpec
      • EqSpec
      • CsvEncoderSpec
  • FP patterns
    • fp/typeclasses/

Basic scala

(types.scala)

  • Product, Coproduct
  • ADT (algebraic data types)
  • forcomprehension = flatMap + map
  • Universal types
  • implicit parameters
  • implicit classes

Functions

(functions.scala)

  • Function composition
  • Polimorphic functions
  • Identity function

Typeclasses

(typeclasses.scala)

  • Adhoc polimorphism
  • map, flatMap

Functional patterns

(patterns.scala)

  • Monoid
  • Functor
  • Applicative
  • Monad

Generic programming

  • Use of typeclasses for the greater good :)
  • Introduction into generic programming
  • Singleton type
  • Symbols
  • CSV generator
  • Diff

Java - Scala Cheatsheet

Scala Cheatsheet

Read more