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

gcanti/fp-ts

Functional programming in TypeScript observed · 2026-08-28

github.com/gcanti/fp-ts · homepage · TypeScript · MIT (permissive) observed · 2026-08-28

Health v2 · maintenance only

58/100

  • Activity 78
  • Release rhythm 8
  • Longevity 100
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: 3507
  • days_rel: 631
  • days_push: 135
  • n_releases_24m: 1

Full methodology

Adoption not part of the score

11540 stars · 510 forks observed · 2026-08-28

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

fp-ts is a library for typed functional programming in TypeScript, providing popular data types (Option, Either, IO, Task), type classes (Functor, Applicative, Monad), and abstractions inspired by Haskell, PureScript, and Scala. It implements Higher Kinded Types, which TypeScript does not support natively, enabling pure functional programming with composable higher-order abstractions.

Use cases

  • write pure functional code in TypeScript
  • handle errors and null values with Option and Either instead of exceptions
  • compose async operations with Task and IO monads
  • use functional type classes like Functor, Applicative, and Monad in TypeScript
  • model domain logic with algebraic data types
  • learn functional programming patterns from Haskell and Scala in a TypeScript setting

When to choose

  • you want typed functional programming abstractions in an existing TypeScript codebase
  • you prefer explicit error handling with Option/Either over exceptions and nulls
  • you need composable, law-abiding abstractions rooted in category theory
  • you are already familiar with FP concepts from Haskell, PureScript, or Scala

When to avoid

  • you are starting a new project - Effect-TS is the official successor and offers more features
  • your team does not already know functional programming - the docs assume FP knowledge
  • you need stack-safe recursion everywhere - data types are not stack safe and there is no trampolining
  • you want a batteries-included framework rather than a library of abstractions

Facets

library · maturity maintenance

serialization error-handling developer-tools developer-tools programming-languages web-development frontend backend cross-platform browser functional-programming typescript algebraic-data-types type-classes monads option either higher-kinded-types pure-functions category-theory nodejs web-server

2 sources

Member repositories

RepositoryRoleHealth v2
gcanti/fp-tsmain58

For agents

markdown · JSON · MCP: product_card(name="gcanti/fp-ts")

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