Proposal: plug the space leak in transpose
Henning Thielemann
lemming at henning-thielemann.de
Mon Aug 24 05:25:09 UTC 2020
On Sun, 23 Aug 2020, David Feuer wrote:
> Data.List.transpose, unfortunately, can potentially leak space. The
> problem is that it walks a list of lists twice: once to get the heads
> and once to get the tails. Depending on the way the result is consumed,
> it's possible that heads or tails that are never used will be retained
> by the garbage collector. I have a fix[*] that probably makes the
> function slower in typical cases, but that plugs the leak. What do y'all
> say?
Your way sounds more correct than using 'head' and 'tail'. I have no
numbers, though.
More information about the Libraries
mailing list