<< Previous exercise (3.55) | Index | Next exercise (3.57) >>


(define S (cons-stream 1 (merge (merge (scale-stream S 2) (scale-stream S 3)) 
                                                          (scale-stream S 5))))

Is there a difference between these two definitions?

 (define S (cons-stream 1 (merge (scale-stream S 2) (merge (scale-stream S 3) (scale-stream S 5))))) 

For some reason it feels more symmetrical to put most of the weight so to speak at the end, I don't think it changes anything but I want to make sure. Unfortunately Racket doesn't seem to allow recursive datatypes like this so there isn't any way to test. I would like to work through this book using MIT Scheme but Gentoo doesn't have it in the repos for some reason and the source files from don't compile for me. Can anybody using MIT Scheme confirm?

This will work correctly. If you can install drracket in gentoo then you can use MIT scheme with the #lang sicp package