
Enhances Arrow with an Outcome type for value/absence/error modeling, extensions for Option/List/Validated/Either, suspend-function retry primitives, plus testing matchers and generators.
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.Option, List, Validated and Either for improved error handling, combinators and interoperability with other Arrow and Kotlin types.There are two published libraries.
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.On the Sonatype page for Quiver, choose the latest version
of lib (and lib-test if desired) and follow the instructions for inclusion in your build tool.
Quiver is a Kotlin Multiplatform library. Gradle resolves the right artifact for each target from app.cash.quiver:lib;
JVM, JS, iOS, macOS, tvOS, watchOS, Linux (x64) and Windows (mingw x64) are supported. Other build tools should
depend on the platform artifact directly, for example app.cash.quiver:lib-jvm.
Quiver requires Kotlin 2.2 or newer. lib-test requires Kotest 6.2.6 or newer.
Install Hermit, see instructions at https://cashapp.github.io/hermit/
Use gradle to run all Kotlin tests locally:
gradle buildThe API documentation is published at https://block.github.io/quiver/. It is rebuilt from main on every merge, so it
may include changes that have not been released yet.
See a list of changes in each release in the CHANGELOG.
For details on contributing, see the CONTRIBUTING guide.
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.Option, List, Validated and Either for improved error handling, combinators and interoperability with other Arrow and Kotlin types.There are two published libraries.
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.On the Sonatype page for Quiver, choose the latest version
of lib (and lib-test if desired) and follow the instructions for inclusion in your build tool.
Quiver is a Kotlin Multiplatform library. Gradle resolves the right artifact for each target from app.cash.quiver:lib;
JVM, JS, iOS, macOS, tvOS, watchOS, Linux (x64) and Windows (mingw x64) are supported. Other build tools should
depend on the platform artifact directly, for example app.cash.quiver:lib-jvm.
Quiver requires Kotlin 2.2 or newer. lib-test requires Kotest 6.2.6 or newer.
Install Hermit, see instructions at https://cashapp.github.io/hermit/
Use gradle to run all Kotlin tests locally:
gradle buildThe API documentation is published at https://block.github.io/quiver/. It is rebuilt from main on every merge, so it
may include changes that have not been released yet.
See a list of changes in each release in the CHANGELOG.
For details on contributing, see the CONTRIBUTING guide.