An Arrow to the Kotlin
summary
Arrow brings functional programming into Kotlin Android apps and demonstrates concrete wins: building a registration presenter that uses Option/Some/None to avoid nulls, Validated with NonEmptyList plus an applicative to accumulate all form errors in one pass, Either/try for error types, and IO or coroutine integration to call a REST API in background. The code halves line count per a claim, makes validation testable and composable, combines applicative (accumulate) and monad (sequential bind) patterns, and produces a working, simpler flow.
AI-written summary · about
chapters (21)
- 0:00Introduction and speaker intro
- 1:08History of programming paradigms
- 4:20Functional vs object-oriented readability
- 5:45Benefits of functional programming
- 7:08Why learn functional programming
- 8:11Immutability and data models
- 9:58Purity and side effects
- 11:25Higher-order functions
- 12:31Functional programming example setup
- 13:35Working with Option data type
- 16:05Mapping and folding Option
- 18:32Error handling with Either
- 20:37Validating form inputs
- 22:11Handling errors in Arrow
- 24:22Applicative pattern for validation
- 28:22Background work with IO
- 29:50Using coroutines with Arrow
- 30:58Monad for sequential execution
- 34:18Combining paradigms
- 38:17Advanced Arrow features
- 40:26Conclusion and key takeaways
related talks
47mFunctional programming in Kotlin: exploring Arrow
27mLeveraging the power of Arrow
30mFunctional programming in Kotlin: exploring Arrow
34mFunctional Programming in Kotlin for AndroidDevs
44mKotlin & Functional Programming: pick the best, skip the rest
48mKotlin & Functional Programming: pick the best, skip the rest
54mFunctional Web APis in Practice
50mState of the functional ecosystem in Kotlin: Mid 2018 checkup
