Object Functional Programming
summary
Scala claims to unify FP and OO by implementing many features with a small core: traits, objects, implicits and open recursion. It shows concrete benefits — functions are objects via FunctionN, records become case classes with copy/unapply for updates and pattern extraction, ADTs use sealed classes for exhaustiveness, and type classes are first‑class via implicit evidence and resolution rules. It also notes costs: JVM constraints, surprising flexibility that causes style confusion, and real compiler/tooling tradeoffs.
AI-written summary · about
chapters (7)
- 0:00Introduction and perspective
- 2:44Critique of paradigms
- 7:19Defining objects and functions
- 12:01Scala as a unified model
- 14:15Showcasing Scala features
- 31:25Implicits and type classes
- 44:01Trade-offs and conclusion
related talks
19mScala for the Rest of Us
01h 50mObject-Functional Patterns in Scala
35mFunctional Programming is Terrible
49mOOP versus Type Classes in Scala
01h 03mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 4 of 6
01h 00mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 2 of 6
01h 00mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 1 of 6
59mIntro to FP in Scala: Exploring a Toolbox for Solving Problems - Part 3 of 6
