Thanks for pointing me at it; at a quick read I like the functionality, but 
will have to take a closer look to get a sense of its feel in use.

It certainly addresses the current gripes I have around `CollectionType` 
requiring a `ForwardIndexType`: for all but the truly-linear collections (e.g., 
Array-like) implementing `successor()` either forces you to hold a 
back-reference, or leaves you choosing between holding a back-reference or 
having rather “fat” indices.

If the collection becomes responsible for moving the index this is all mooted; 
I can finish the sketched refactoring proposal and simply refer to this 
(prototype? proposal?) as something else that’d be needed to get the full 
benefit.

> On Jan 2, 2016, at 11:24 AM, Dmitri Gribenko <griboz...@gmail.com> wrote:
> 
> On Sat, Jan 2, 2016 at 4:53 AM, Dave Abrahams via swift-evolution
> <swift-evolution@swift.org> wrote:
>> 
>>> On Jan 1, 2016, at 4:34 PM, plx via swift-evolution 
>>> <swift-evolution@swift.org> wrote:
>>> 
>>> I was preparing a proposal-sketch relating to this earlier discussion: 
>>> http://article.gmane.org/gmane.comp.lang.swift.evolution/1629
>>> 
>>> …which is largely about inserting "intermediate steps” between 
>>> `SequenceType` and `CollectionType`, but to get the full benefit would 
>>> likely wind up requiring modifications to the API on the `*Index` types 
>>> (e.g. `ForwardIndexType`, which at present is required of a 
>>> `CollectionType`’s `Index`).
>>> 
>>> Searching for prior discussion/work I found this bug: 
>>> https://bugs.swift.org/browse/SR-122 , and was curious if anything further 
>>> has happened on that topic?
>> 
>> Yes, Dmitri has been making progress on an implementation.  He may be able 
>> to point you at it…
> 
> The prototype is checked in at
> test/Prototypes/CollectionsMoveIndices.swift, feel free to ask me more
> questions about it.
> 
> Dmitri
> 
> -- 
> main(i,j){for(i=2;;i++){for(j=2;j<i;j++){if(!(i%j)){j=0;break;}}if
> (j){printf("%d\n",i);}}} /*Dmitri Gribenko <griboz...@gmail.com>*/

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to