Structure and Interpretation of Computer Programs has had a dramatic impact oncomputer science curricula over the past decade. This long-awaited revision contains changesthroughout the text.There are new implementations of most of the major programming systems in thebook, including the interpreters and compilers, and the authors have incorporated many small changesthat reflect their experience teaching the course at MIT since the first edition was published.A newtheme has been introduced that emphasizes the central role played by different approaches to dealingwith time in computational models: objects with state, concurrent programming, functionalprogramming and lazy evaluation, and nondeterministic programming. There are new example sections onhigher-order procedures in graphics and on applications of stream processing in numericalprogramming, and many new exercises.In addition, all the programs have been reworked to run in anyScheme implementation that adheres to the IEEE standard.