|  |  | Lazy Series'

## Lazy Series'

Represents an immutable sequence of numbers specified using a start number `from`, a step amount `by` , and an inclusive bound `to`.

`<range>` | `(<seq.>)` | `C`
`range-by` | `(from|<num> test|<fun> lim|<num> by|<fun>=> <range>)` | `G`
| returns a range starting `from`, updated with `by`, and continuing until `(test x lim)` is false. |
`range` | `(from|<num> test|<fun> lim|<fun> => <range>)` | `G`
| == `(range-by from test lim (op + _ 1))` |
`from` | `(from|<num> => <range>)` | `G`
| == `(range from (always #t) 0)` |
`below` | `(lim|<num> => <range>)` | `G`
| == `(range 0 < lim)` |
`<step>` | `(<seq.>)` | `C`
| Steps represent step functions. |
`first-then` | `(first|<fun> then|<fun> => <step>)` | `G`
| returns a new step object, calling thunks `first` to retrieve initial value and `then` to retrieve subsequent values. |
`each` | `(f|<fun> => <each>)` | `G`
| returns a new each object, calling `f` thunk to retrieve each value. |
`<cycle>` | `(<seq.>)` | `C`
| Cycles provide a mechanism to create infinite sequences repeating a certain sequence over and over again. |
`cycle` | `(x|... => <cycle>)` | `G`
| returns a cycles that repeats elements of `x`. |

|  |  | Lazy Series'