~/talk

From Exception Hell to Typed Bliss: Real-World Error Handling with Kotlin and Arrow

Talkat Lambda World 2025 · 2025-10-23..10-24· [kotlin, functional-programming]
links:none on file
slides:none on file

Team migrates exception-heavy Kotlin code to Arrow using Arrow's Raise DSL and Either for months, keeping direct-style control flow while gaining compile-time error guarantees. Implementation specifics: replace throws with raise, use typed ADTs for domain errors, add a linter to catch forgotten binds, and use error accumulation selectively. Pain points include error-ADTs causing module coupling and experimental context parameters for multi-receiver cases, but overall the approach runs in production and reduces surprising runtime exceptions.

AI-written summary · about

  1. 0:00Real-world error handling intro
  2. 3:21Problems with exceptions
  3. 7:18Typed errors improve reasoning
  4. 10:09Monads for error handling
  5. 13:06Arrow Either direct-style
  6. 15:56Lessons after months
  7. 20:35Modeling domain errors
  8. 22:43Error accumulation issues
  9. 24:08Future Kotlin features
  10. 27:57Union types read errors
  11. 29:24FP in mainstream languages
  12. 30:50Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.