Proposal: strictify foldl'
Henning Thielemann
lemming at henning-thielemann.de
Mon Nov 3 17:16:55 UTC 2014
On Mon, 3 Nov 2014, Niklas Hambüchen wrote:
> On 03/11/14 17:59, Henning Thielemann wrote:
>> I would prefer a strict foldl provided by the
>> deepseq package and deprecate foldl' in favor of deepseq:foldl. This new
>> foldl could immediately implement the unconditional strictness for the
>> initial accumulator value.
>
> This has the problem though that `deepseq` will traverse the entire
> structure, and while seq traversals are quite fast, if done n times it
> will still take n*n time
If 'seq' is faster than 'deepseq' it leaves things unevaluated and thus
builds up unevaluated expressions, right?
> What I mean to say is: Using `deepseq` in `foldl'` might forbid you to
> write some recursive code, e.g. in the cases where you call an outer
> foldl' on something whose substructure you used foldl', like when you
> use foldl' to fold up a tree from the leaves up.
I can't follow. :-( Do you have an example?
More information about the Libraries
mailing list