Algebraic DataTypes in Scala. Where is the algebra? What other algebras are there?
summary
Explains how Scala tuples, case classes and sealed traits (products and coproducts) correspond to elementary algebraic expressions, showing why these common Scala data structures are called algebraic data types. Uses simple high-school algebra analogies to map Scala constructs to algebraic concepts so attendees understand the meaning of “algebra” in functional programming.
AI-written summary · about
chapters (11)
- 0:00Start
- 1:08For absolute beginners
- 13:59Function Type
- 16:17Exponentials
- 18:11Practical example
- 20:09Tagless Final Algebra
- 20:54Free Monad Algebra
- 21:48Free Monad and Tagless Final
- 25:30Duality in Category Theory
- 26:15Recursion Schemes
- 27:47Recap
related talks
19mAlgebraic Data Types
11mAlgebraic Data Types
37mExpressing Types as Values with Scalaz-Schema
44mType level Computations in Scala
31mStructuring Arrays with Algebraic Shapes
55mSet Theoretic Algebraic Constructive Calculus
48mA gentle introduction to type level programming in Scala
25mLeveraging (algebraic data) types to make your UI rock solid
