functools
fut
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.
functools
- Go Generics Facilitators
- Functional tools in Go 1.18 using newly introduced generics
-
functools: A Collection of Functional helpers using Go 1.18 Generics
Impl: https://github.com/rakeeb-hossain/functools/blob/rakeeb-hossain/lazy-iterator/iterator.go
fut
-
Go Generics Facilitators
Undocumented early impl/design of futures: https://github.com/cretz/fut
-
Trying Out Generics in Go
I feel the similar way, though I wouldn't be so brave to say I didn't ever use interface{}. I think we all work around slices and maps being the only generic containers and don't know we do. I think everyone will find that while they didn't need generics, they will help them when using utility libraries. Java 1.4 people thought the same.
I expect a well-curated libraries to come about that will really simplify some otherwise difficult problems for people (e.g. task/object pooling). I'm even toying with a futures impl at https://github.com/cretz/fut, but I wouldn't use it in place of channels in most cases.
What are some alternatives?
modern-cpp-features - A cheatsheet of modern C++ language and library features.
ineffassign - Detect ineffectual assignments in Go code.
gogu - A comprehensive, reusable and efficient concurrent-safe generics utility functions and data structures library.
aboriginal - Aboriginal Generics: the future is here!
async - experimental promises in go1.18 with generics
gods - Go Data Structures
go2funk - Simple Golang API to use functional types in Golang, such as immutable List, Options, Try, Either...
reason - Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems
generic - A collection of generic data structures written in Go.
gostdx - Extended library functions using generics in Go.
dogs - Make Go functional with dogs
errcheck - errcheck checks that you checked errors.