How lazy is DData.Seq?
Simon Marlow
simonmar at microsoft.com
Wed May 19 11:26:30 EDT 2004
On 18 May 2004 09:24, Robert Will wrote:
> On Tue, 11 May 2004, Simon Marlow wrote:
>
>> But, the tradeoff is strictness in append. It may be that we need
>> multiple versions of Seq, but I suspect that not much would be
>> gained by having all three:
>>
>> 1. ordinary lists with lazy append
>> 2. Seq with O(1) lazy append
>> 3. Seq with O(1) strict append and O(n) toList
>>
>> If we have 1 & 3, then I'm guessing that 2 would be very rarely
>> required.
>
> Well, Dessy has only 1 and 3 and that for good reason.
>
> In fact, this discussion does somehow miss the point, since none of
> these three are most "general-purpose Sequences", with a lot of
> unnecessary O(N) operations (e.g. for 'last' and (!!)).
The reason to prefer a sequence with an O(N) 'last' over one with O(log
N) 'last' would be if the O(N) version had lower constant factor
overhead and you didn't need to use the O(N) operations.
Measurements please!
Cheers,
Simon
More information about the Libraries
mailing list