generic
gods
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)
gods
-
Go Generics Facilitators
I've just finished porting my gods module (Go Data Structures) to make use of generics.
https://github.com/johan-bolmsjo/gods/tree/v2
It's not much, only a simple list and an AVL tree that I've carried with me for many years. Binary search trees are useful to solve some problems because they are ordered.
I was impressed with how polished the tools where. The go-lsp plugin just worked with the new generic types. I solved all compiler errors in the editor without actually compiling anything. Did not expect that level of polish. The modules introduction broke the editor integration for many release cycles. This seems much smoother.
What are some alternatives?
xgen - XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator
fut
async - experimental promises in go1.18 with generics
functools - Functional tools in Go 1.18 using newly introduced generics
go-datastructures - A collection of useful, performant, and threadsafe Go datastructures.
gods - GoDS (Go Data Structures) - Sets, Lists, Stacks, Maps, Trees, Queues, and much more
genny - Elegant generics for Go
gomarkdoc - Generate markdown documentation for Go (golang) code
tinyq - an implementation of a persistent FIFO queue. with ability to pause/start dequeue.
golang-memory-arenas