[swift-evolution] [RFC] New collections model: collections advance indices

Károly Lőrentey karoly at lorentey.hu
Tue Mar 8 08:27:44 CST 2016


On 2016-03-04 02:00:36 +0000, Dave Abrahams via swift-evolution said:

> 
> on Thu Mar 03 2016, Dmitri Gribenko <swift-evolution at swift.org> wrote:
> 
>> On Thu, Mar 3, 2016 at 9:56 AM, plx via swift-evolution
>> <swift-evolution at swift.org> wrote:
>>> 
>>> # Concern: Linearity Baked-In
>>> 
>>> Even with this change, I have some concern that the proposed
>>> protocol hierarchy from `Collection` onward feels like it has a
>>> foreseeable lack of generality due to how strongly "linear" the
>>> design wants `Collection` to be.
>>> 
>>> Is this the right time to raise such concerns (e.g. in-scope for this 
>>> discussion)?
>> 
>> We can definitely dive into more details about this.  One thing that I
>> would want to understand is whether this non-linearity concept could
>> be added later without a re-design.
>> 
>> Could you provide more information about the linearity issues that you
>> have in mind?  Are you thinking of something like Segmented Iterators
>> and Hierarchical Algorithms [1]?
>> 
>> [1] http://lafstern.org/matt/segmented.pdf
> 
> Awesome paper; everybody should read it ;-)

Indeed; I just read it, and it has given me Ideas.

Off-list, I've been thinking about implementing a low-level optimization
in stdlib that turns out to be essentially a narrow-minded
implementation of segmented iterators, dedicated to one specific usecase:
copying data out of a collection.

See e.g. https://github.com/apple/swift/pull/1194#discussion_r55251606
(scroll down to the section about _copyContents; I'm bad at succinct 
commenting.)

-- 
Károly




More information about the swift-evolution mailing list