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:
- Asynchronous behaviour
- Memory-sensitive applications, where it's not necessary to keep an entire sequence in memory at once
- Infinite sequences
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/from-iterable function source
(from-iterable ds) Create a new generator around any iterable data structure.
generators/mapcat function source
(mapcat f ds) Map `f` over `ds`, concatenating the results into a new generator.
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.