Janet 1.39.1-e9c6678 Documentation
(Other Versions: 1.38.0 1.37.1 1.36.0 1.35.0 1.34.0 1.31.0 1.29.1 1.28.0 1.27.0 1.26.0 1.25.1 1.24.0 1.23.0 1.22.0 1.21.0 1.20.0 1.19.0 1.18.1 1.17.1 1.16.1 1.15.0 1.13.1 1.12.2 1.11.1 1.10.1 1.9.1 1.8.1 1.7.0 1.6.0 1.5.1 1.5.0 1.4.0 1.3.1 )

generators

A generator is an iterable data structure which yields individual values whenever called, potentially until its internal values are exhausted, at which point it's considered dead.

This operation makes them very useful for:

NB: Certain functions (specifically run and to-array) will create an infinite loop if their argument is an infinite generator!

Reference

generators/concat generators/cycle generators/drop generators/drop-until generators/drop-while generators/filter generators/from-iterable generators/map generators/mapcat generators/range generators/run generators/take generators/take-until generators/take-while generators/to-array


generators/concat function source
(concat & xs)

Concatenate one or more generators or iterables into a single generator.

generators/cycle function source
(cycle ds)

Repeatedly yield the elements of `ds`, looping back to the beginning when finished.

generators/drop function source
(drop n ds)

Drop `n` elements from `ds`.

generators/drop-until function source
(drop-until p ds)

Drop elements from `ds` until `p` is true.

generators/drop-while function source
(drop-while p ds)

Drop elements from `ds` while `p` is true.

generators/filter function source
(filter p ds)

Create a generator that filters `ds` with `p`.

generators/from-iterable function source
(from-iterable ds)

Create a new generator around any iterable data structure.

generators/map function source
(map f ds)

Create a generator that maps `f` over `ds`.

generators/mapcat function source
(mapcat f ds)

Map `f` over `ds`, concatenating the results into a new generator.

generators/range function source
(range from to)

Create a lazy range.

generators/run function source
(run s)

Evaluate `s` for side effects.

generators/take function source
(take n ds)

Take `n` elements from iterable `ds`.

generators/take-until function source
(take-until p ds)

Return elements from `ds` until `p` is true.

generators/take-while function source
(take-while p ds)

Return elements from `ds` while `p` is true.

generators/to-array function source
(to-array s)

Consume `s` into a new array.