]>
A Stream object is represented as a list whose last element contains the wherewithal to create the next element, should it ever be required.
Let ints be the infinite stream of non-negative integers.
By default, ten stream elements are calculated. This number may be changed to something else by the system command )set streams calculate. For the display purposes of this book, we have chosen a smaller value.
More generally, you can construct a stream by specifying its initial value and a function which, when given an element, creates the next element.
You can create the stream of odd non-negative integers by either filtering them from the integers, or by evaluating an expression for each integer.
You can accumulate the initial segments of a stream using the scanscanStreamFunctions2 operation.
The corresponding elements of two or more streams can be combined in this way.
Many operations similar to those applicable to lists are available for streams.
The packages StreamFunctions1, StreamFunctions2 and StreamFunctions3 export some useful stream manipulation operations. For more information, see ugLangItsPage in Section ugLangItsNumber , ugProblemSeriesPage in Section ugProblemSeriesNumber , ContinuedFractionXmpPage , and ListXmpPage .