Practical Functional Programming with Arrow
After discussing the functional programming principles in Kotlin, the concurrency primitives, and some of the concurrent design patterns, we can now investigate more pragmatic applications of those topics using the Arrow library for Kotlin as an example. Arrow aims to bring idiomatic functional programming to Kotlin. This means Arrow is inspired by the great work done in other functional programming communities, such as Scala, yet it exposes these ideas and concepts in ways that feel natural to Kotlin programmers.
Arrow comprises different libraries, each improving or extending a commonly used library in the Kotlin ecosystem or a particular Kotlin language feature.
In this chapter, we’ll cover the following topics:
- Getting started with Arrow
- Typed errors
- High-level concurrency
- Software transactional memory
- Resilience
- Circuit Breaker
- Saga
- Immutable data
After reading...