FuncFrog
fp-go

FuncFrog | fp-go | |
---|---|---|
12 | 4 | |
279 | 1,705 | |
0.7% | 1.4% | |
6.9 | 7.4 | |
5 months ago | 18 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
FuncFrog
-
I wrote a for loop so you don't have to. Parallel Map, Filter, Reduce library
func GetIDs(...) ([]string, ...) { <...> users := GetUsers(...) return ff.Map(users, domain.UserGetID).Do(), ... } ``` Now it's that easy! Furthermore you may like to write gogenerate function to generate such methods for each domain struct. Also there are more cool features, minimal-lock parallelism, error handling etc. in the libtaty https://github.com/koss-null/FuncFrog Cheers!
-
Functional Programming Library for Golang by IBM
if it have to be in FP style, this one is better
https://github.com/koss-null/FuncFrog
still prefer non-FP part tho
-
FuncFrog: fast, parallel and lazy stream-api. Please help me with the code review and project development ideas
Hi there! I have finally released a stable version of my stream-like library. It supports some basic features such as Map, Reduce, Filter, Sort, Any, First on any slice or generating function, easy out-of-the-box parallelism with minimum locks and overhead on a regular for cycle. Here it is: https://github.com/koss-null/FuncFrog First of all I will appreciate any code review. Any feedback are welcome. At second, I want to ask the community, what features do you expect to be in such kind of a library and how do you expect them to be implemented? It looks like I need to add some Collect function to be able to produce not only slices, and also add some sources such as BufferedReader or channel.
-
FuncFrog - fast stream-API like library got it first stable release!
Hi gophers! In last months I've been working on a FuncFrog - java stream-api - like library, which is fast, parallel, lazy-evaluated and generic-based! You can check it out here: https://github.com/koss-null/FuncFrog
-
Fast Golang Stream API (lazy, inline-friendly, parallel) as an alternative for RxGo
Check this out. I will be glad to any comments and notes https://github.com/koss-null/lambda/tree/0.3.0
-
What necessary packages or functions that Go doesn't have?
I am rly strugging with it developing this:https://github.com/koss-null/lambda
-
Another update on my Nifty inline filtering, map and reduce library.
Hi! Some te ago I've released the first beta of my stream-api like library. It have become much more useful and stable since then. Here is is: https://github.com/koss-null/lambda
- Looking for libraries ideas to develop
- Have you moved from Java to Go (or another popular language).
-
Parallel, lazy evaluated Java Stream API-like library for Go is closer to the release than ever
Check the code out here: https://github.com/koss-null/lambda
fp-go
-
Functional Programming in Go
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
- IBM/fp-go: functional programming library for golang
-
Functional Programming Library for Golang by IBM
True, however the README does link to this:
https://github.com/IBM/fp-go/tree/main/samples
What are some alternatives?
access-key-rotator - A PoC how to rotate your IAM access keys and store them in Github secrets
gofpher - a collection of functional programming constructs for go
filter - Simple apply/filter/reduce package.
fo - An experimental language which adds functional programming features to Go.
rss-bot - Telegram bot for RSS feeds
scala - Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3
lrpc - Simple, lightweight, multi-codec RPC library for Go.
fp-ts - Functional programming in TypeScript
mo - 🦄 Monads and popular FP abstractions, powered by Go 1.18+ Generics (Option, Result, Either...)
unlocker - ⚠️ Replaced by ItalyPaleAle/Revaulter! -- Wrap and unwrap keys using a key vault with admin consent
gomad - Lightweight functional data and side effects manipulation patterns in Golang with no dependencies.
