iter
go-extlib
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.
iter
-
Go streams (a look at what is possible with generics)
Came to pretty similar conclusions regarding the ergonomics myself: https://github.com/urandom/iter/blob/main/README.md
-
Go Chainable: .map().filter().reduce() in Go
I agree, the current implementation is really not sufficient, at least for this. I played around with lazy iteration a while back and found the current restrictions would make working with it an annoyance.
I've placed some thoughts in the Readme [1] so I don't forget. Hopefully at least some of the restrictions will be dropped.
1: https://github.com/urandom/iter
-
Exploring the upcoming generic capabilities
You can read the what I came up with on: https://github.com/urandom/iter
go-extlib
-
Go Chainable: .map().filter().reduce() in Go
After taking a stab at some more functional approach with generics in Go — https://github.com/gtramontina/go-extlib — I do agree that some of it does feel shoehorned. Although for some other constructs, it feels quite nice. As I mentioned on the readme of the linked repository, this post https://hypirion.com/musings/type-safe-http-servers-in-go-vi... presents pros and cons nicely.
What are some alternatives?
go_chainable - With generics, allowing chainable .Map(func(...)).Reduce(func(...)) syntax in go
genesis - All generic functions for Go you ever need!
fo - An experimental language which adds functional programming features to Go.
stream - A Go library of functional-style generic filter-map-reduce operations
gen - gen is a generic general use Go functions library with the intention of replacing duplicated code where the same functionality is needed across multiple types, and provides a common interface for the functionality. The library is designed to be used in a wide variety of projects and is designed to be easy to use.
go-clean-architecture-web-application-boilerplate - A web application boilerplate built with go and clean architecture.
go-execute - Automate CLI commands with Go