Introducing Typelevel Scala into an OO environment
summary
Process for migrating a Java/C++ shop to Typelevel Scala, with concrete patterns and libraries: adopt immutability as default and stop returning mutable buffers, replace loops and mutation with combinators produce new state and case-class copy chains, handle bad input at construction with Option/Either instead of throws, use Monocle lenses + Argonaut for JSON/settings and Cats for type-class abstractions, and model async work with actors/Tasks to keep data immutable. Result is simpler threading, decoupled data/behavior, smaller API surface, and gradual adoption by writing interoperable libraries people must call to proceed.
AI-written summary · about
chapters (6)
- 0:00Start
- 4:45Combinators Are Awesome
- 9:01Case Classes & Traits
- 14:25Monocle & Argonaut
- 18:28Type Classes
- 21:06Cats
related talks
32mTypelevel's Road to Scala 3
19mScala for the Rest of Us
01h 01mTypesafe Scala, Typelevel Scala – What’s Going On, Anyway?
38mThinking Less with Scala
39mA few tips on modelling things in Scala
45mTypelevel Programming 101: The Subspace of Scala
31mBoring use cases for exciting types
02h 49mFrom Java to Scala 3, from Lambdas to Functional Programming: More Readable, More Expl...
