generic
async
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.
generic
-
Go 1.20: memory arenas
You might also consider using other data structures instead of slices, for example, a linked list can be grown without an issue.
-
how to implement a mutex queue in golang
github.com/zyedidia/generic's queue
- A collection of generic data structures written in Go
-
Go Generics Facilitators
I recently saw a go generic data structures library in the wild: https://github.com/zyedidia/generic.
Anyone have any more? I'm curious what people come up with for goroutines/channels.
- An experimental collection of generic data structures written in Go
- Experimental generic implementations of various data structures (map, b-tree, AVL tree, rope, and more)
async
-
Retrofitting Async/Await in Go 1.18
// Taken from: https://github.com/nkcmr/async/blob/main/async.go type syncPromise[T any] struct { done chan struct{} v T err error } func (s *syncPromise[T]) Await(ctx context.Context) (T, error) { select { case <-ctx.Done(): var zerov T return zerov, ctx.Err() case <-s.done: return s.v, s.err } } func (s *syncPromise[T]) Settled() bool { select { case <-s.done: return true default: return false } }
-
Go Generics Facilitators
I made this: https://github.com/nkcmr/async so I can experiment with the idea of Promises in Go. Keep in mind it's experimental and I've only lightly played around with the pattern.
- Async: Experimental Promises in Go1.18 with Generics
What are some alternatives?
xgen - XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator
PIE - A behavior for Internet Explorer allowing it to recognize and render various CSS3 box decoration properties
go-datastructures - A collection of useful, performant, and threadsafe Go datastructures.
functools - Functional tools in Go 1.18 using newly introduced generics
gods - GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more
pie - 🍕 Enjoy a slice! A utility library for dealing with slices and maps that focuses on type safety and performance.
genfuncs - Go 1.18+ polymorphic generic containers and functions.
gods - Go Data Structures
async.go - A collection of utilities for async code in Go.
genny - Elegant generics for Go
fut