fp-go

fp-go

IBM

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

2k Stars
75 Forks
2k Watchers
Go Language
apache-2.0 License
100 SrcLog Score
Cost to Build
$755.8K
Market Value
$4.00M

Growth over time

5 data points  ·  2025-02-01 → 2026-04-01
Stars Forks Watchers
💬

How do you feel about this project?

Ask AI about fp-go

Question copied to clipboard

What is the IBM/fp-go GitHub project? Description: "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". Written in Go. Explain what it does, its main use cases, key features, and who would benefit from using it.

Question is copied to clipboard — paste it after the AI opens.

How to clone fp-go

Clone via HTTPS

git clone https://github.com/IBM/fp-go.git

Clone via SSH

[email protected]:IBM/fp-go.git

Download ZIP

Download master.zip

Found an issue?

Report bugs or request features on the fp-go issue tracker:

Open GitHub Issues