Seq
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.).
On this page
Languages
Go100.0%
Contributors
BSD Zero Clause License
Created January 17, 2019
Updated December 19, 2023