Repository navigation
Generators
Frank edited this page Jan 27, 2026
·
3 revisions
Generators are functions that use yield to produce a sequence of values. Calling a generator executes the function immediately and returns a list of the yielded values.
fn range(n) {
let i = 0;
while (i < n) {
yield i;
i += 1;
}
}
let xs = range(4); // [0, 1, 2, 3]-
yield exprappends a value to the generator result list. - A function becomes a generator if it contains any
yieldstatement. - Calling a generator returns a list of all yielded values.
-
returnvalues in a generator are ignored (the list is returned instead).
Using yield outside of a generator is a runtime error.