____ ______________ ________________________ __________
\ \/ / \ \/ / __/ / \ \/ / \
\______/___/\___\______/___/_____/___/\___\______/___/\___\
Vavr is an object-functional extension for Java that reduces boilerplate code and enhances code quality.
Vavr seamlessly combines object-oriented programming with the elegance and robustness of functional programming.
It provides:
- persistent collections
- functional abstractions for error handling, concurrent programming
- pattern matching
- ...and more
Since Vavr has no dependencies beyond the JVM, you can easily add it as a standalone .jar to your classpath.
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>0.10.6</version>
</dependency>
implementation 'io.vavr:vavr:0.10.6'
See User Guide and/or Javadoc.
- Executing tests:
mvn clean test
- Executing doclint:
mvn javadoc:javadoc
- Executing code coverage report:
mvn -P ci clean test jacoco:report
- Create -javadoc.jar:
mvn javadoc:jar
- Create -source.jar:
mvn source:jar
Currently, there are two significant branches:
main
(represents a stream of work leading to the release of a new ma version)version/1.x
(historical work that went into1.0.0-alpha-3
, treat is as read-only - will be kept around for cherry-picking)
A small number of users have reported problems building Vavr. Read our contribution guide for details.