Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing


  • 2 years ago

From Lecture 6A, where the concept of streams is introduced in order to optimize the space complexity of a recursion; similarly, they also introduced another useful procedure that utilized the memoization technique called MEMO-PROC which assigns some predicate to "not nil" implying that it will no longer memoize. This may or may not be a problem from my understanding of let; nevertheless, memorization implies that for different variations of the same procedure should occupy another place within the same "table" so that it would be returned afterwards, doesn't it? Is it some kind of magical procedure that generates an abstract generalized version of it? (possibility, tried to answer my question but failed) Perhaps, given that both (proc)'s are delayed, one in the assignment of the result and the other in the result, it means that is being constantly updated (the assignment), although still the problem would continue, it wouldn't be updated at all since the predicate was assigned to "not nil" so I wouldn't know when would the procedure be continued in the line (set! result (proc)). In other words, given that I'm right according to the last statements, When would the procedure be executed in the (set! result (proc)) line were the conditional accepts some predicament that is already set to "not nil" therefore it can't be updated. How should I see this, to understand it?

  • This Question is Open

    Not the answer you are looking for?
    Search for more explanations.

    • Attachments:

Ask your own question

Sign Up
Find more explanations on OpenStudy
Privacy Policy