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
GitHub repository with 1,992 stars and 79 forks.
Language: Go
Topics: functional-programming, go, golang, library, monad, utility