Maven Central Latest snapshot Kotlin version badge

License StackOverflow Twitter

Λrrow is a library for Typed Functional Programming in Kotlin.

Arrow aims to provide a lingua franca of interfaces and abstractions across Kotlin libraries. For this, it includes the most popular data types, type classes and abstractions such as Option, Either, IO, Functor, Applicative, Monad to empower users to write pure FP apps and libraries built atop higher order abstractions.

Use the list below to learn more about Λrrow’s main features.

  • Patterns: tutorials and approaches to day-to-day challenges using FP
  • Libraries: all the libraries provided by Λrrow
  • Type classes: defining behaviors for data
  • Data types: common abstractions
  • Effects: interfacing with external systems
  • Optics: inspecting and modifying data structures


Take a look at Setup where you’ll find the instructions to configure a project with Gradle or Maven to use Arrow library.

Do you like Arrow?

Arrow Org