IBM/fp-go — Functional programming library for Go 1.24+, inspired by fp-ts.
Description and use
IBM/fp-go is a functional‑programming library for Go 1.24+ that brings Option, Either, Result, IO, Reader and optics primitives—complete with Functor/Applicative/Monad abstractions and do‑notation‑style helpers—to enable clean, composable, immutable data handling in backend services. By reusing these well‑tested abstractions, teams can standardize service patterns, ship API services faster, and avoid rebuilding common infrastructure pieces. The project shows strong recent activity, solid adoption signals (★2k, forks, 2026‑08‑20 update) and high production‑readiness, making it a low‑risk candidate for a pilot or gradual rollout in existing Go codebases.
Problem
IBM/fp-go helps teams reuse service infrastructure instead of rebuilding common backend pieces.
Outcome
High for an OSS candidate: recent activity, adoption, and ecosystem signals are strong enough for a serious pilot.
Workflow
- ship API services faster
- reuse backend infrastructure
- standardize service patterns
Evidence
Functional programming library for Go 1.24+, inspired by fp-ts. Uses generic type aliases for a clean, composable API. Provides Option, Either, Result, IO, IOResult, Reader, and ReaderIOResult monads, plus optics (Lens, Prism, Traversal) for immutable data manipulation. Supports Functor, Applicative, and Monad abstractions with do-notation-style
- Record date: 2026-09-16T19:45:35.524Z