Kotlin & Functional Programming: pick the best, skip the rest
summary
Kotlin favors expression-oriented code, higher-order functions and immutability, with stdlib Result + runCatching for composable error flows and coroutines replacing Reactor Monos for most async cases. The talk shows concrete refactors: a CSV/TSV writer turned into a higher‑order function, test setup/teardown wrapped as a reusable function, nested flatMap chains simplified with Arrow’s monad comprehensions (bind), and validations handled by Arrow Validated accumulate to return all errors. Warning: using monads everywhere hurts; author claims ~95% of code does better without pervasive monadic types.
AI-written summary · about
chapters (12)
- 0:00Introduction and speaker background
- 2:34Swamps of imperative programming
- 7:52Valley of expression-oriented programming
- 12:09Mountains of higher-order functions
- 15:58Demystifying category theory
- 21:50Monads in reactive programming
- 26:49Monadic error handling
- 31:45Arrow Library and monad comprehensions
- 35:47When monads become anti-patterns
- 41:30Arrow examples and validation
- 45:24Optics for nested data structures
- 47:08Prosperous plain of functional common sense
related talks
44mKotlin & Functional Programming: pick the best, skip the rest
50mPure Kotlin.
41mArchitectures Using Functional Programming Concepts
47mFunctional programming in Kotlin: exploring Arrow
34mFunctional Programming in Kotlin for AndroidDevs
29mTreasure.map(): Functional Programming in Kotlin
39mFunctional Programming in Kotlin with Λrrow
35mTreasure.map(): Functional Programming in Kotlin
