evilsoft/crocks
A collection of well known Algebraic Data Types for your utter enjoyment. 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
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
- readme: https://github.com/evilsoft/crocks · fetched 2026-08-28 · cbf424a9eee6
- homepage: https://crocks.dev · fetched 2026-08-29 · 9196c9ffa9cb
- site_page: https://crocks.dev/docs · fetched 2026-08-29 · c7d456402073
- site_page: https://crocks.dev/docs/getting-started.html · fetched 2026-08-29 · 04ab18bf5338
- site_page: https://crocks.dev/docs/crocks · fetched 2026-08-29 · 93c6abce8552
- site_page: https://crocks.dev/docs/monoids · fetched 2026-08-29 · eac8027d4744
- site_page: https://crocks.dev/docs/functions · fetched 2026-08-29 · 7d695abdfbd9
- registry_npm: https://registry.npmjs.org/crocks · fetched 2026-08-29 · 3466f93bc28d
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| evilsoft/crocks | main | 32 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem