https://github.com/vavr-io/vavr
vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
https://github.com/vavr-io/vavr
functional-programming hacktoberfest immutable-collections java javaslang object-functional persistent-collections
Last synced: 3 days ago
JSON representation
vʌvr (formerly called Javaslang) is a non-commercial, non-profit object-functional library that runs with Java 8+. It aims to reduce the lines of code and increase code quality.
- Host: GitHub
- URL: https://github.com/vavr-io/vavr
- Owner: vavr-io
- License: apache-2.0
- Created: 2014-01-30T14:07:25.000Z (over 11 years ago)
- Default Branch: main
- Last Pushed: 2025-04-14T05:49:23.000Z (about 1 month ago)
- Last Synced: 2025-05-05T14:19:39.037Z (10 days ago)
- Topics: functional-programming, hacktoberfest, immutable-collections, java, javaslang, object-functional, persistent-collections
- Language: Java
- Homepage: https://vavr.io
- Size: 22.3 MB
- Stars: 5,896
- Watchers: 172
- Forks: 644
- Open Issues: 87
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Vavr
[](https://opensource.org/licenses/MIT)
[](https://github.com/vavr-io/vavr/releases)

[](https://github.com/vavr-io/vavr/actions/workflows/ci.yml)
[](https://codecov.io/gh/vavr-io/vavr)```text
____ ______________ ________________________ __________
\ \/ / \ \/ / __/ / \ \/ / \
\______/___/\___\______/___/_____/___/\___\______/___/\___\
```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 moreSince **Vavr has no dependencies** beyond the JVM, you can easily add it as a standalone .jar to your classpath.
### Stargazers over time
[](https://starchart.cc/vavr-io/vavr)### Maven Dependency
io.vavr
vavr
0.10.6
### Gradle Dependency
implementation 'io.vavr:vavr:0.10.6'
## Using Vavr
See [User Guide](http://docs.vavr.io) and/or [Javadoc](http://www.javadoc.io/doc/io.vavr/vavr).
### Useful Maven Goals
* 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`### Contributing
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 into `1.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](./CONTRIBUTING.md) for details.