Skip to content

cashapp/quiver

Repository files navigation

Quiver logo Quiver logo

Quiver is a library that builds upon Arrow to make functional programming in Kotlin even more accessible & delightful.

Main features include:

  • Outcome type for modelling the presence, absence or error state of a value.
  • Extension methods on Option, List, Validated and Either for improved error handling, combinators and interoperability with other Arrow and Kotlin types.
  • Extension methods on suspended functions to allow for seemless retries of operations.

There are two published builds.

  • lib contains types and functions to provide additional functional programming idioms over and above what is available from Arrow.
  • lib-test contains kotest Matchers and Arbs for writing tests that use types found in lib.

Getting Started

On the Sontaype page for Quiver, choose the latest version of lib (and lib-test if desired) and follow the instructions for inclusion in your build tool.

Building

Install Hermit, see instructions at https://cashapp.github.io/hermit/

Use gradle to run all Kotlin tests locally:

gradle build

Documentation

The API documentation is published with each release at https://cashapp.github.io/quiver

Changelog

See a list of changes in each release in the CHANGELOG.

Contributing

For details on contributing, see the CONTRIBUTING guide.

About

Quiver is a collection of extension methods and handy functions to make the wonderful functional programming Kotlin library, Arrow, even better.

Resources

License

Stars

Watchers

Forks

Packages

No packages published