Speaking as "someone new to the language", this is one subject that confused me while reading RWH. They kept using the phrase "space leak" and I would think "Well, I understand that with laziness one simple call could trigger an explosion of calculations but how is that a 'leak'?" I had to go back and reread that section before I realized that the laziness was implemented as *runtime thunks* and I finally understood why they called it a "leak". Looking back I think they did a good job explaining it after all, I just totally missed it the first time through. |