Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Top 23 Go Functional programming Projects
-
I've tried going down this route myself by using libraries like fp-go[1]. I think this particular project has done a great job, but I ultimately opted not to pursue functional programming in Go for a few reasons:
- Ergonomics weren't the greatest when working with monads such as options and results. I think pattern matching is needed here, but concepts like those go against Go's core design philosophy.
- I suspect there are several cases where runtime performance is an issue, but admittedly did not investigate this.
- Perhaps most importantly, it deviates from the way most people read and write Go, and less importantly, LLMs struggle too.
Because of these reasons, I came to the conclusion that the advantages were not worth the trade-offs.
Perhaps somebody will create a garbage-collected Rust-like language in the future and bridge the gap between the two languages.
[1] - https://github.com/IBM/fp-go
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
-
Nevalang does exactly that. It's a modern language built around dataflow that treats programs as message-passing graphs rather than sequences of instructions:
-
ink
Ink is a minimal programming language inspired by modern JavaScript and Go, with functional style. (by thesephist)
-
-
-
-
Nutrient
Nutrient - The #1 PDF SDK Library. Bad PDFs = bad UX. Slow load times, broken annotations, clunky UX frustrates users. Nutrient’s PDF SDKs gives seamless document experiences, fast rendering, annotations, real-time collaboration, 100+ features. Used by 10K+ devs, serving ~half a billion users worldwide. Explore the SDK for free.
-
-
-
fp-go
fp-go is a collection of Functional Programming helpers powered by Golang 1.18+ generics. (by repeale)
-
-
-
-
gogu
A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.
-
-
-
-
-
gomad
Lightweight functional data and side effects manipulation patterns in Golang with no dependencies.
-
-
lispy
A Lisp-dialect written in Go featuring a library written in itself, a REPL, tail-optimized recursion, macros, and a meta-circular interpreter. (by amirgamil)
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Functional programming discussion
Go Functional programming related posts
-
Glojure: Clojure interpreter hosted on Go, with extensible interop support
-
Functional Programming in Go
-
Zb: An Early-Stage Build System
-
Colima k8s nix setup
-
IBM/fp-go: functional programming library for golang
-
Functional Programming Library for Golang by IBM
-
Write functional-like code with Go
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 14 Mar 2025
Index
What are some of the best open-source Functional programming projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | fp-go | 1,729 |
2 | goderive | 1,253 |
3 | neva | 782 |
4 | ink | 566 |
5 | Koazee | 529 |
6 | gubrak | 491 |
7 | go-functional | 490 |
8 | fpGo | 352 |
9 | genesis | 348 |
10 | fp-go | 309 |
11 | functional-go | 181 |
12 | fuego | 143 |
13 | underscore | 111 |
14 | gogu | 102 |
15 | stream | 91 |
16 | tau | 59 |
17 | golem | 47 |
18 | opt | 35 |
19 | gomad | 30 |
20 | funl | 23 |
21 | lispy | 21 |
22 | std | 19 |
23 | go-strm | 14 |