Arrow (http://arrow-kt.io/) is a Kotlin library that provides functional constructs, datatypes, and other abstractions. Kotlin syntax is powerful and flexible, and Arrow takes advantage of it to offer features that don't come as standard.
Arrow is the result of combining the two most successful and popular functional libraries, funKTionale
and Kategory
, into one. In late 2017, both developer groups, fearing a split that would damage the whole Kotlin community, decided to join forces and create a single, unified functional library.
In this chapter, we'll cover how to use existing functions to build new and richer functions. Some of the topics that we'll cover are as follows:
- Function composition
- Partial application
- Currying
- Memoization
- Pipes
- Optics