# jOOQ/jOOL

jOOλ - The Missing Parts in Java 8 jOOλ improves the JDK libraries in areas where the Expert Group's focus was elsewhere. It adds tuple support, function support, and a lot of additional functionality around sequential Streams. The JDK 8's main efforts (default methods, lambdas, and the Stream API) were focused around maintaining backwards compatibility and implementing a functional API for parallelism.

Repository: https://github.com/jOOQ/jOOL
Canonical: https://ross.abutalabs.com/products/jool
Homepage: http://www.jooq.org/products
Language: Java
License: Apache-2.0
License Family: permissive
Last push: 2024-08-01T12:21:02+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 4567, "days_push": 762, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2119, forks 174 (observed 2026-08-28T04:06:16.463697+00:00)

## What it is
jOOλ is a small Java library that fills gaps in the JDK 8 functional APIs, adding tuple types (Tuple1-Tuple16), extended function interfaces (Function1-Function16), and a Seq interface that enriches sequential Streams with methods known from functional languages like Scala. It is part of the jOOQ open-source product series, licensed under Apache-2.0.

## Use cases
- add tuple types to Java functional code
- use Function1 through Function16 in Java
- get Scala-like stream operations on Java Streams
- join, group, and fold sequential streams in Java
- write more expressive functional Java without parallelism
- zip, cycle, and window streams in Java 8+

## When to choose
- you want richer sequential Stream operations than the JDK provides
- you need type-safe tuples or higher-arity functions in Java
- your code is sequential and ordered and you don't need parallel streams

## When to avoid
- you rely heavily on parallel streams, since Seq is strictly sequential
- you only need basic JDK Stream operations and no extra dependencies
- you need a full functional programming framework rather than lightweight extensions

## Facets
- artifact type: library
- maturity: stable
- function: developer-tools
- domain: programming-languages, developer-tools
- platform: jvm
- tags: functional-programming, tuples, streams, java-8, sequential-streams, lambda-extensions, algorithms

## Member repositories
- jOOQ/jOOL (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:16.463697+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:53:02.166610+00:00, confidence not recorded.
  - readme: https://github.com/jOOQ/jOOL (fetched 2026-08-28T04:06:16.463697+00:00, sha b6de49559e1b)
  - homepage: http://www.jooq.org/products (fetched 2026-08-29T10:33:06.925780+00:00, sha 562a7d522bc6)
  - site_page: http://www.jooq.org/doc/3.21/manual/getting-started/tutorials/jooq-in-7-steps (fetched 2026-08-29T10:33:06.932383+00:00, sha 142f328a1380)
  - site_page: http://www.jooq.org/doc/latest/manual/getting-started/the-manual (fetched 2026-08-29T10:33:06.934136+00:00, sha c5eab282f2ad)
  - site_page: http://www.jooq.org/download (fetched 2026-08-29T10:33:06.928703+00:00, sha ba6d52f4ddaa)
  - site_page: http://www.jooq.org/faq (fetched 2026-08-29T10:33:06.930731+00:00, sha d237f8493427)
- Data as of 2026-08-30T08:39:29.467469+00:00.
