<div dir="ltr"><div dir="ltr">Am Fr., 4. Jan. 2019 um 18:24 Uhr schrieb Viktor Dukhovni <<a href="mailto:ietf-dane@dukhovni.org">ietf-dane@dukhovni.org</a>>:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[...] In the case of a lazy function ignoring its argument, no space is leaked<br>
unless that argument is retained elsewhere, and the function was the sole<br>
means of forcing the value.</blockquote><div><br></div><div>This is the scenario I had in mind, but obviously I didn't explain that terribly well... :-} Personally, I think this is not so uncommon, at least in the initial stages of writing a library or program.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[...] Space leaks require ever deeper chains of unevaluated thunks. [...]<br></blockquote><div><br></div><div>Perhaps we have different definitions of "space leak" (is there an "official" one?), but keeping a single thunk alive for a long time, which in turn keeps some huge data structure alive is a kind of leak, too, no deep chains involved. Maybe there is a better term describing this situation.</div></div></div>