Arrow is an open source library for typed, functional programming in Kotlin. It aims to provide common syntax and functionality to achieve pure functional programming with Kotlin. This includes abstractions, interfaces, and classes including the following:
- Functor
- Applicative
- Monad
- Option
- Try
- Either
- Eval
For additional information about Arrow, refer to the official Arrow documentation: https://arrow-kt.io/.
Arrow can be used alongside your existing object-oriented, imperative code and can be used in specific places such as transforming data coming in or out of your application.
Let's explore three of the key types of abstraction that Arrow provides:
- Typeclasses
- Data types
- Effects