GitHub - raviqqe/hamt.go: Immutable and Memory-Efficient Maps and Sets in Go
source link: https://github.com/raviqqe/hamt.go
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Immutable and Memory Efficient Maps and Sets in Go.
This package hamt
provides immutable collection types of maps (associative arrays)
and sets implemented as Hash-Array Mapped Tries (HAMTs).
All operations of the collections, such as insert and delete, are immutable and
create new ones keeping original ones unmodified.
Hash-Array Mapped Trie (HAMT) is a data structure popular as a map (a.k.a. associative array or dictionary) or set. Its immutable variant is adopted widely by functional programming languages like Scala and Clojure to implement immutable and memory-efficient associative arrays and sets.
Installation
go get github.com/raviqqe/hamt
Documentation
Technical notes
The implementation canonicalizes tree structures of HAMTs by eliminating intermediate nodes during delete operations as described in the CHAMP paper.
References
License
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK