GitHunt
JS

A sequence library for go

Seq

GoDoc
Build Status
Coverage Status

Seq is a lazy sequence library for go. It is inspired by Clojure's sequence functions. It originally started because I was interested in transducers and wanted to play with them. Most of the functions in the library are implemeneted as transducers in the jsouthworth.net/go/transduce library and wrapped with a XfrmSequence here. This library relies heavily on reflection to allow for the most flexibility in what the user provides. This means that it is only type checked at runtime.

Getting started

go get jsouthworth.net/go/seq

Usage

The full documentation is available at
jsouthworth.net/go/seq

License

This project is licensed under the 0BSD License - see LICENSE

Acknowledgments

  • Clojure's sequence library was the source of inspiration for the organization of this library and the names of the functions.

TODO

  • Implement a few more functions like flatten.
  • Add more conversions for go types (maps as entry sequences, etc.).

Languages

Go100.0%

Contributors

BSD Zero Clause License
Created January 17, 2019
Updated December 19, 2023
jsouthworth/seq | GitHunt