Skip to content

Commit ecc512f

Browse files
SICP: reword some questions
1 parent f611558 commit ecc512f

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

shared/middle/sicp.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,20 +187,20 @@ This fundamental work emphasizes controlling the complexity of software systems
187187
* [3.5 Streams](http://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5)
188188

189189
* What is the difference between lists and streams? What is happening in both construction and selection time for both lists and streams?
190-
* Why should cons-stream and delay be special forms of languages? Should `force` be such a procedure?
190+
* Why do `cons-stream` and `delay` have to be special forms in Scheme? Should `force` be such a form?
191191
* Why should all list-manipulating procedures be rewritten for streams? What actually should be changed?
192192
* What's the difference between methods call-by-name and call-by-need?
193193
* Explain the behavior of the programs from exercises 3.51 and 3.52 (you don't need to complete exercises if you can fully explain the behavior).
194194
* Why can streams be infinite? Can we make our program stuck when working with infinite streams?
195195
* What's the order of growth of the computing of fibonacci numbers from stream declared implicitly using both call-by-name and call-by-need strategies?
196196
* What's the order of growth of the stream of all positive integers with no prime factors other than 2, 3, or 5 declared implicitly?
197197
* What's the technique called "sequence accelerator"?
198-
* How can we can accelerate the accelerated sequence?
198+
* How can we can accelerate an accelerated sequence?
199199
* How can we merge infinite sequences? Why simple appending doesn't fit here?
200200
* How does delayed evaluation help to create circular dependencies?
201201
* What should be changed in the language, so it becomes normal-order evaluated? What are the pros and cons of this approach?
202202
* Why don't mutability and delayed evaluation mix well in programming languages?
203-
* How can we refactor stateful procedure to make it stateless with the streams?
203+
* How can we refactor a stateful procedure to make it stateless with streams?
204204
* Why simple merging of two streams is not a solution for merging bank accounts?
205205
* What's the difference between thunks and JS Promises? *This question is answered by frontend developers.*
206206
* Is there a difference between thunks described in this chapter and Haskell thunks? *This question is answered by backend developers.*

0 commit comments

Comments
 (0)