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
Star History
Add Live Star History & Verified Badges to README.md
Keep your repository README looking professional and dynamic. As our continuous crawler records new stars, these official SVG badges update in real time with zero maintenance.
Renders your high-resolution star trajectory chart right inside your GitHub README or project docs.
[](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_chart)
Compact Shields-style badges for your README header. Shows real-time stars and global ranking.
[](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge) [](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge) [](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge)
Momentum
+51
STARS · LAST 30 DAYS
2
PER DAY
#470
MOST-STARRED Go
| Window | 7 days | 30 days | 90 days |
|---|---|---|---|
| Stars gained | +14 | +51 | +180 |
| Per day | 2 | 2 | 2 |
| Forks gained | +1 | +3 | +10 |
fp-go gained 51 stars in the last 30 days, about 2 a day, and now has 2K. It is about 3 years old and has averaged roughly 677 stars a year. It ranks #470 among Go repositories and #3,724 across all languages on GitHubRepo.
Trending Record
5
DAYS ON TRENDING
#5106
BEST RANK
Oct 9, 2026
FIRST APPEARANCE
Active
STATUS TODAY
fp-go has maintained a continuous presence across global trending indexes, peaking at #5106. Below is the 30-day activity profile:
💡 Overview
fp-go is an open-source project written in Go: 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.
Engineered for speed, consistency, and developer ease, it solves common hurdles in functional-programming, go, golang. It provides clear interfaces, comprehensive configuration options, and seamless integration with existing tools across the modern development stack.
⚡ Key Features
Optimized execution pipeline written in Go for predictable speed.
Zero-friction configuration with comprehensive sensible defaults out of the box.
Cross-platform runtime support across Linux, macOS, and Windows environments.
Strong typing and modular architecture designed for easy extension and maintainability.
Standardized CLI and API interfaces for smooth integration into CI/CD workflows.
Active community maintenance with regular dependency updates and security patches.
📥 Installation
$ go install github.com/IBM/fp-go@latest
⚙ System Requirements
Platforms
- • macOS
- • Linux
- • Windows
Runtime & Dependencies
Go >= 1.21 runtime environment
Architecture
x86_64, ARM64 (Apple Silicon & Graviton)
🧠 How It Works
fp-go coordinates its core functionality through a modular Go pipeline. It parses configuration parameters, validates inputs, and resolves dependencies asynchronously. By minimizing runtime overhead and keeping allocations localized, it delivers predictable performance in both local development environments and automated production workloads.
🎯 Production Use Cases
Production System Integration
Embed fp-go into Go backend services to handle core application logic.
CI/CD Automated Pipelines
Run automated validation, builds, and integration suites during deployments.
Developer Tooling & Workflows
Accelerate developer onboarding with pre-configured project utilities.
Open Source Extension
Fork and customize internal modules under the repository's open Apache-2.0 license.
🚀 Getting Started
Install fp-go using your package manager: `go install github.com/IBM/fp-go@latest`
Initialize your project workspace or configuration file for fp-go.
Import fp-go into your codebase or invoke it directly from your terminal.
Execute your test suite or run `fp-go --help` to verify successful setup.
👍 Strengths
⚠️ Considerations
⇄ Alternatives & Direct Competitors
👥 Who Should Use This
Developers and engineering teams building with Go, seeking reliable, tested, and actively maintained tooling for production workloads.
🏆 Nearby in the Rankings
IBM/fp-go is currently ranked #3,724 by stars across every repository tracked on GitHubRepo. These are adjacent projects:
| Rank | Repository | Language | Stars | Action |
|---|---|---|---|---|
| #3,718 | Shopify/ruby-lsp | Ruby | ★ 2K | Compare ↗ |
| #3,720 | php/pie | PHP | ★ 2K | Compare ↗ |
| #3,721 | langgraph4j/langgraph4j | Java | ★ 2K | Compare ↗ |
| #3,721 | 66HEX/frame | Rust | ★ 2K | Compare ↗ |
| #3,723 | oracle/graaljs | C++ | ★ 2K | Compare ↗ |
| #3,724 | IBM/fp-go This Project | Go | ★ 2K | |
| #3,724 | elastic/rally | Python | ★ 2K | Compare ↗ |
| #3,726 | symfony/http-client | PHP | ★ 2K | Compare ↗ |
| #3,726 | aubepkg/aube | Rust | ★ 2K | Compare ↗ |
| #3,728 | dotnet-presentations/dotnet-maui-workshop | C# | ★ 2K | Compare ↗ |
| #3,729 | ezEngine/ezEngine | C++ | ★ 2K | Compare ↗ |
Frequently Asked Questions
What does fp-go do? +
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
What language is fp-go written in? +
The primary language is Go. Topics include: functional-programming, go, golang, library, monad.
Is fp-go actively maintained? +
Yes, the last recorded push was on Oct 10, 2026 with 2 open issues being tracked.
How many stars does fp-go have? +
fp-go has 2,031 stars and 87 forks on GitHub.
How does fp-go rank among GitHub repositories? +
With 2,031 stars, IBM/fp-go is ranked #3,724 globally across all repositories tracked on GitHubRepo and #470 among Go projects.
What license is fp-go distributed under? +
The repository reports a Apache-2.0 license. Always verify the repository LICENSE file for legal terms.