4.70 Exercise 4.70

We need to assign THE-ASSERTIONS to a temporary binding before prepending to it to avoid an infinite regress, just like in the provided case of the stream (define ones (cons-stream 1 ones)). cons-stream, remember, is a special form which allows for a stream to be referenced recursively. The expression (set! THE-ASSERTIONS (cons-stream assertion THE-ASSERTIONS)) doesn’t merely take the value of THE-ASSERTIONS, prepend the new value to it, and then reassign it back to the binding THE-ASSERTIONS. Instead, it defines THE-ASSERTIONS to be the stream starting with the new assertion followed by itself. The new stream will just be the new assertion repeated infinitely many times.