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
andEither
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 inlib
.
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.
Install Hermit, see instructions at https://cashapp.github.io/hermit/
Use gradle to run all Kotlin tests locally:
gradle build
The API documentation is published with each release at https://cashapp.github.io/quiver
See a list of changes in each release in the CHANGELOG.
For details on contributing, see the CONTRIBUTING guide.