Built something? We create video reels & spotlights for GitHub projects.Promote your project →
IBM
Home / Go / fp-go

IBM/fp-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

★2KSTARS
⑂87FORKS
!2ISSUES
🏆#3,724GLOBAL RANK
🔥5DAYS TRENDING
🚀
Maintainer Growth Kit for fp-go

Claim this project, add your verified backlink badge to your README, and download milestone cards.

Claim Repo

Star History

Continuous Observations
Interactive star growth chart for IBM/fp-go
CSV
⭐ VIRAL README KIT

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.

Open README on GitHub ↗
Option 1: Interactive Star History Chart Dynamic SVG

Renders your high-resolution star trajectory chart right inside your GitHub README or project docs.

IBM/fp-go Star History Preview
markdown
[![Star History Chart](https://githubrepo.cloud/api/badge/chart/IBM/fp-go.svg?theme=dark)](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_chart)
Direct SVG Link ↗
Option 2: Verified Shields Badges Shields.io Style

Compact Shields-style badges for your README header. Shows real-time stars and global ranking.

Featured badge Stars badge Rank badge
markdown (badge trio)
[![Featured on GitHubRepo.cloud](https://githubrepo.cloud/badge/IBM/fp-go.svg?metric=featured)](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge) [![GitHubRepo Stars](https://githubrepo.cloud/badge/IBM/fp-go.svg?metric=stars)](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge) [![Global Rank](https://githubrepo.cloud/badge/IBM/fp-go.svg?metric=rank)](https://githubrepo.cloud/repo/IBM/fp-go?utm_source=readme_badge)

Momentum

+51

STARS · LAST 30 DAYS

2

PER DAY

#470

MOST-STARRED Go

Window7 days30 days90 days
Stars gained+14+51+180
Per day222
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

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

1

Optimized execution pipeline written in Go for predictable speed.

2

Zero-friction configuration with comprehensive sensible defaults out of the box.

3

Cross-platform runtime support across Linux, macOS, and Windows environments.

4

Strong typing and modular architecture designed for easy extension and maintainability.

5

Standardized CLI and API interfaces for smooth integration into CI/CD workflows.

6

Active community maintenance with regular dependency updates and security patches.

📥 Installation

terminal
$ 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

1

Install fp-go using your package manager: `go install github.com/IBM/fp-go@latest`

2

Initialize your project workspace or configuration file for fp-go.

3

Import fp-go into your codebase or invoke it directly from your terminal.

4

Execute your test suite or run `fp-go --help` to verify successful setup.

👍 Strengths

Active community backing with 2,031 GitHub stars and verified adoption.
Permissive open-source distribution under the Apache-2.0 license.
Built in Go for high execution speed and developer familiarity.
Cross-platform compatibility across modern Linux, macOS, and Windows environments.
Clean modular design allowing flexible configuration and pipeline integration.

⚠️ Considerations

Requires familiarity with Go and modern CLI workflows.
Ecosystem extensions may require manual configuration depending on environment constraints.
Active development roadmap means breaking API changes may occur across major versions.

⇄ Alternatives & Direct Competitors

A
avelino/awesome-go ★ 187.2K Go

A curated list of awesome Go frameworks, libraries and software

Compare ↗
O
ollama/ollama ★ 182.3K Go

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models.

Compare ↗
G
golang/go ★ 139.1K Go

The Go programming language

Compare ↗
K
kubernetes/kubernetes ★ 128.2K Go

Production-Grade Container Scheduling and Management

Compare ↗

👥 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:

RankRepositoryLanguageStarsAction
#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 ↗
SPONSORED Trending Developer Tools & Services

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.

From our network
FOR MAINTAINERS

Built something? Put it in front of millions of developers.

We make a short reel about your project and post it across YouTube, Instagram, Threads, and X. Send a link, we do the rest.

SPONSORED Sponsored Partner