go-github-com-bradenaw-juniper
Extensions to the Go standard library using generics
Juniper is a library of extensions to the Go standard library using generics, including containers, iterators, and streams.
container/treecontains aMapandSetthat keep elements in sorted order. They are implemented using a B-tree, which performs better than a binary search tree.container/dequecontains a double-ended queue implemented with a ring buffer.container/xheapcontains a min-heap similar to the standard library'scontainer/heapbut more ergonomic, along with aPriorityQueuethat allows setting priorities by key.container/xlistcontains a linked-list similar to the standard library'scontainer/list, but type-safe.xslicescontains some commonly-used slice operations, likeChunk,Reverse,Clear, andJoin.iteratorcontains an iterator interface used by the containers, along with functions to manipulate them, likeMap,While, andReduce.streamcontains a stream interface, which is an iterator that can fail. Useful for iterating over collections that require I/O. It has most of the same combinators asiterator, plus some extras likePipeandBatch.parallelcontains some shorthand for common uses of goroutines to process slices, iterators, and streams in parallel, likeparallel.MapStream.xsortcontains extensions to the standard library packagesort. Notably, it also has the definition forxsort.Less, which is how custom orderings can be defined for sorting and also for ordered collections like fromcontainer/tree.You can probably guess what's in the packages
xerrors,xmath,xmath/xrand,xsync, andxtime.
- Versions: 0.15.3
- Website: https://github.com/bradenaw/juniper
- Licenses: Expat
- Package source: gnu/packages/golang-build.scm
- Builds: See build status
- Issues: See known issues
Installation
Install the latest version of go-github-com-bradenaw-juniper as follows:
guix install go-github-com-bradenaw-juniper
Or install a particular version:
guix install go-github-com-bradenaw-juniper@0.15.3
You can also install packages in augmented, pure or containerized environments for development or simply to try them out without polluting your user profile. See the guix shell documentation for more information.
Badge code
You can use the following badge to inform users of go-github-com-bradenaw-juniper about the latest version available in Guix.
Example HTML:
<a href='https://packages.guix.gnu.org/packages/go-github-com-bradenaw-juniper'><img src='https://packages.guix.gnu.org/packages/go-github-com-bradenaw-juniper/badges/latest-version.svg' alt='Version in GNU Guix'></a>
Example Markdown:
[](https://packages.guix.gnu.org/packages/go-github-com-bradenaw-juniper)
Example Org:
[[https://packages.guix.gnu.org/packages/go-github-com-bradenaw-juniper][https://packages.guix.gnu.org/packages/go-github-com-bradenaw-juniper/badges/latest-version.svg]]