Ross ROSS = Recommend OSS · open-source software intelligence for agents

evilsoft/crocks

A collection of well known Algebraic Data Types for your utter enjoyment. observed · 2026-08-28

github.com/evilsoft/crocks · homepage · JavaScript · ISC (permissive) observed · 2026-08-28

Health v2 · maintenance only

32/100

  • Activity 0
  • Release rhythm 35
  • Longevity 100

Flags: no_releases

How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: n/a
  • age_days: 3714
  • days_rel: n/a
  • days_push: 1336
  • n_releases_24m: 0

Full methodology

Adoption not part of the score

1598 stars · 103 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

crocks is a zero-dependency JavaScript library of popular Algebraic Data Types (ADTs) such as Maybe, Either, IO, Async, and Pair, along with Monoids and a large set of helper functions like combinators, predicates, and point-free utilities. It provides a common interface across types so developers can write declarative, functional-style code and compose operations without imperative boilerplate.

Use cases

  • handle nullable values without null checks using Maybe
  • model success/failure flows with Either or Result
  • combine a list of values down to one with Monoids
  • write point-free functional pipelines in JavaScript
  • curry and compose functions declaratively
  • manage side effects with IO and Async types
  • combine predicate functions with logic combinators

When to choose

  • you want Fantasy Land-style ADTs (Maybe, Either, IO, Async) in JavaScript with a consistent interface
  • you need tree-shakeable imports for frontend bundles
  • you want a curated set of combinators, predicates, and point-free helpers alongside the types
  • you prefer declarative, monadic error handling over imperative null/exception checks

When to avoid

  • your team is unfamiliar with functional programming concepts like monads and functors
  • you need a library under active development with frequent updates
  • you are working in a language with native ADT support or a more modern FP library
  • you need async primitives beyond what Async provides, such as streams

Facets

library · maturity maintenance

serialization developer-tools programming-languages developer-tools cross-platform functional-programming algebraic-data-types monads monoids fantasy-land point-free maybe either currying function-composition algorithms nodejs javascript

8 sources

Member repositories

RepositoryRoleHealth v2
evilsoft/crocksmain32

For agents

markdown · JSON · MCP: product_card(name="evilsoft/crocks")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem