SRFI 121: Generators

by Shiro Kawai, John Cowan, and Thomas Gilray

status: withdrawn (2019-07-18)

keywords: Data Structure, R7RS Large: Red Edition, Superseded

See also SRFI 158: Generators and Accumulators.


This SRFI defines utility procedures that create, transform, and consume generators. A generator is simply a procedure with no arguments that works as a source of a series of values. Every time it is called, it yields a value. Generators may be finite or infinite; a finite generator returns an end-of-file object to indicate that it is exhausted. For example, read-char, read-line, and read are generators that generate characters, lines, and objects from the current input port. Generators provide lightweight laziness.