MCPcopy Index your code
hub / github.com/vavr-io/vavr

github.com/vavr-io/vavr @v1.0.1 sqlite

repository ↗ · DeepWiki ↗ · release v1.0.1 ↗
10,779 symbols 51,843 edges 256 files 2,074 documented · 19%
README

Vavr

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

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

Vavr is an object-functional extension for Java that makes defensive programming easy by leveraging immutability and functional control structures

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.

Led and maintained by @pivovarit

Stargazers over time

Stargazers over time

Maven Dependency

<dependency>
    <groupId>io.vavr</groupId>
    <artifactId>vavr</artifactId>
    <version>0.10.7</version>
</dependency>

Gradle Dependency

implementation 'io.vavr:vavr:0.10.7'

Using Vavr

See User Guide and/or Javadoc.

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 major version) - version/1.x (historical work that went into 1.0.0-alpha-3, treat it 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.

Extension points exported contracts — how you extend this code

Tuple (Interface)
The base interface of all tuples. @author Daniel Dietrich [9 implementers]
vavr/src-gen/main/java/io/vavr/Tuple.java
CharUnaryOperator (Interface)
Represents an operation on a single char-valued operand that produces a char-valued result. This is the [32 implementers]
vavr/src/main/java/io/vavr/collection/CharSeq.java
CheckedFunction2 (Interface)
Represents a function with two arguments. @param argument 1 of the function @param argument 2 of the function
vavr/src-gen/main/java/io/vavr/CheckedFunction2.java
CharFunction (Interface)
Represents a function that accepts a char-valued argument and produces a result. This is the char-consum [32 implementers]
vavr/src/main/java/io/vavr/collection/CharSeq.java
CheckedFunction8 (Interface)
Represents a function with 8 arguments. @param argument 1 of the function @param argument 2 of the function @
vavr/src-gen/main/java/io/vavr/CheckedFunction8.java
Ordered (Interface)
A collection whose elements are arranged according to a well-defined order. Implementations expose the {@link Comparator [16 …
vavr/src/main/java/io/vavr/collection/Ordered.java
Function5 (Interface)
Represents a function with 5 arguments. @param argument 1 of the function @param argument 2 of the function @
vavr/src-gen/main/java/io/vavr/Function5.java
HashCodes (Interface)
Utility that allows to compute hashcodes without var-arg conversion into arrays for common types of vavr. @author Sebas [4 …
vavr/src/main/java/io/vavr/control/HashCodes.java

Core symbols most depended-on inside this repo

get
called by 4083
vavr/src-gen/main/java/io/vavr/Function0.java
of
called by 1500
vavr/src-gen/main/java/io/vavr/Tuple.java
head
called by 967
vavr/src/main/java/io/vavr/collection/Tree.java
apply
called by 948
vavr/src-gen/main/java/io/vavr/Function5.java
of
called by 947
vavr/src/main/java/io/vavr/collection/CharSeq.java
put
called by 729
vavr/src/main/java/io/vavr/collection/Map.java
of
called by 480
vavr/src/main/java/io/vavr/control/Try.java
flatMap
called by 423
vavr/src/main/java/io/vavr/control/Try.java

Shape

Method 10,142
Class 523
Interface 102
Enum 12

Languages

Java100%

Modules by API surface

vavr/src/test/java/io/vavr/collection/CharSeqTest.java636 symbols
vavr/src/test/java/io/vavr/collection/AbstractTraversableTest.java427 symbols
vavr/src-gen/main/java/io/vavr/API.java426 symbols
vavr/src/test/java/io/vavr/collection/AbstractSeqTest.java341 symbols
vavr/src/test/java/io/vavr/collection/JavaConvertersTest.java298 symbols
vavr/src-gen/test/java/io/vavr/APITest.java240 symbols
vavr/src/test/java/io/vavr/control/TryTest.java221 symbols
vavr/src/test/java/io/vavr/collection/AbstractMapTest.java188 symbols
vavr/src/main/java/io/vavr/collection/CharSeq.java170 symbols
vavr/src/main/java/io/vavr/collection/Stream.java167 symbols
vavr/src/test/java/io/vavr/collection/AbstractMultimapTest.java156 symbols
vavr/src/main/java/io/vavr/collection/BitSet.java149 symbols

Dependencies from manifests, versioned

${project.groupId}:vavr-match1.0.0 · 1×
${project.groupId}:vavr-match-processor1.0.0 · 1×
org.assertj:assertj-core
org.jspecify:jspecify1.0.0 · 1×
org.junit.jupiter:junit-jupiter
org.openjdk.jmh:jmh-generator-annprocess

For agents

$ claude mcp add vavr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact