The (vicare language-extensions streams) library implements
streams; sometimes called “lazy lists”, streams are a sequential
data structure containing elements computed only on demand. A stream is
either null or is a pair with a stream in its cdr. Since elements of a
stream are computed only when accessed, streams can be infinite. Once
computed, the value of a stream element is cached in case it is needed
again.
| • streams basic: | Basic interface. | |
| • streams cons: | Definitions and constructors. | |
| • streams from: | Converting objects into streams. | |
| • streams to: | Converting streams to objects. | |
| • streams ops: | Operations. | |
| • streams select: | Selecting. | |
| • streams range: | Range streams. | |
| • streams of: | Comprehensions. | |
| • streams fold: | Folding. | |
| • streams unfold: | Unfolding. | |
| • streams map: | Mapping and side effects. | |
| • streams match: | Matching. | |
| • streams utilities: | Utilities. | |
| • streams examples: | Examples. |