Re: Adding scanl'
Evan Laforge <qdunkan <at> gmail.com>
2012-09-11 19:06:28 GMT
On Tue, Sep 11, 2012 at 11:57 AM, Henning Thielemann
<lemming <at> henning-thielemann.de> wrote:
>
> On Tue, 11 Sep 2012, Evan Laforge wrote:
>
>> On Tue, Sep 11, 2012 at 11:43 AM, Henning Thielemann
>> <lemming <at> henning-thielemann.de> wrote:
>>>
>>> I don't know whether this "scanl'" is of much use. "foldl'" is required
>>> because we can access its accumulator only after "foldl'" finished. But
>>> in
>>> "scanl'" you can and usually should access the interim accumulator values
>>> that are contained in the result list.
>>
>>
>> I use it relatively frequently, e.g. 'intervals = scanl (+) 0 (cycle
>> [2, 1, 2, 2, 1, 2, 2])'
>
>
> And what do you do with the elements of 'intervals'? I guess you consume
> them and then you force their evaluation this way.
Yes, you're right, I don't rely on laziness in the result. And even
if I did, in the case of (+) it probably isn't worth it anyway.
Sorry, I missed that the key point was whether or not the interim
values are used.