Skip to content
/ vavr Public

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.

License

Notifications You must be signed in to change notification settings

vavr-io/vavr

Repository files navigation

Vavr

License: MIT GitHub Release Maven Central Version Build Status Code Coverage

 ____  ______________  ________________________  __________
 \   \/   /      \   \/   /   __/   /      \   \/   /      \
  \______/___/\___\______/___/_____/___/\___\______/___/\___\

Vavr is an object-functional language extension to Java 8 that aims to reduce the number of lines of code and increase code quality. It provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching, and much more.

Vavr fuses the power of object-oriented programming with the elegance and robustness of functional programming. The most interesting part is a feature-rich, persistent collection library that smoothly integrates with Java's standard collections.

Because Vavr does not depend on any libraries (other than the JVM), you can easily add it as a standalone .jar to your classpath.

Stargazers over time

Stargazers over time

Using Vavr

See User Guide and/or Javadoc.

Gradle tasks:

  • Build: ./gradlew check
    • test reports: ./build/reports/tests/test/index.html
    • coverage reports: ./build/reports/jacoco/test/html/index.html
  • Javadoc (linting): ./gradlew javadoc

Contributing

Currently, there are two significant branches:

  • master (represents a stream of work leading to the release of a new major version)
  • version/0.x (continues 0.10.5 with minor updates and bugfixes)

If you're unsure which one to start with, start with version/0.x.

A small number of users have reported problems building Vavr. Read our contribution guide for details.