[Haskell-cafe] Re: Laziness leaks

Ketil Malde ketil at malde.org
Thu Jun 5 03:25:43 EDT 2008

"Albert Y. C. Lai" <trebla at vex.net> writes:

>> I haven't heard the terms "laziness leak" and "strictness leak"
>> before

> "Leak" refers to a surprise.

I the meaning of "leak" is in a bit of flux.  Originally, I believe it
refers to a memory leak, where the programmer forgot to call free()
before losing the pointer, thus making the program consume memory it
can't recover, and can't use.

With automatic memory management, this doesn't happen, so "memory
leak" then started to mean retaining objects longer than necessary.

(Aside: am I the only one who is shocked by the memory consumption of
modern programs?  I use a simple time tracker (gnotime), a calendar
with a handful of entries (evolution), and they both typically consume
half to one gigabyte of memory.  In all fairness, it seems to be much
better under Ubuntu 8.04 than 7.10, but again, they haven't been
running for very long yet.)

I'm not sure I'll use terms like strictness and laziness leak, I think
it's hard to see what's being lost here, and if you have a laziness
leak, it is unclear if it's too much laziness or too little?

> ("Leak", "bug", "issue"... We surely are very creative in how to avoid
> calling a shovel a shovel, or an error an error.)

At least one text insisted on "defect".

Too much laziness or strictness may be harmful to performance, but
it's only a defect if it means the program fails to meet its

If I haven't seen further, it is by standing in the footprints of giants

More information about the Haskell-Cafe mailing list