gcanti/fp-ts

Functional programming in TypeScript

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 5th, 2026
Created on January 25th, 2017
Open Issues & Pull Requests: 191 (+0)
GitHub issues: Enabled
Number of forks: 510
Total Stargazers: 11,544 (+0)
Total Subscribers: 97 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 15.6 hours
Mean response time: 145.9 days
90th percentile: 833.7 days
Tracked items: 19

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 13
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,230 days
Stale 30+ days: 13
Stale 90+ days: 13

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (1)
  • discussion (1)
  • suggestion (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

fp-ts is a library for typed functional programming in TypeScript.

The library addresses the challenge of bringing functional programming patterns to TypeScript by providing popular data types and abstractions like Option, Either, IO, Task, Functor, Applicative, and Monad. A distinctive feature is its implementation of Higher Kinded Types, which TypeScript does not support natively, enabling developers to write pure functional programs using higher-order abstractions that would otherwise be unavailable in the language.

Developers considering adoption should be aware that fp-ts is transitioning into the Effect-TS ecosystem, with Effect-TS positioned as the successor embodying what would be fp-ts v3. New users should evaluate whether to adopt fp-ts directly or move toward Effect-TS for enhanced capabilities and ongoing support. The tool suits projects where typed functional programming patterns are a priority and where the abstractions it provides align with the team's architectural goals. Installation requires careful dependency management, as multiple versions of fp-ts in a project can cause TypeScript compilation to hang.

The project maintains active build status and receives regular updates. Development is characterized by a deliberate transition strategy that prioritizes ecosystem consolidation rather than continuing as an independent library.