That was my reasoning behind choosing Indexable and not CollectionType.

Neither the Swift documents, nor the “headers” indicate any semi-privateness of 
Indexable, AFAIK.
(Apart from maybe Base._Element kind of hinting at it, but then again it’s 
Indexable, not _Indexable.)

Anyway, I’d be totally fine with sticking it on CollectionType, if that’s 
preferred.

Vincent

> On 05 Jan 2016, at 00:58, T.J. Usiyan via swift-evolution 
> <[email protected]> wrote:
> 
> The proposed additions to Indexible only require Indices… I don't see how 
> adding them is such a mistake. If we can gain these behaviors while only 
> *requiring* that minimum interface… go for it.
> 
> TJ
> 
> On Mon, Jan 4, 2016 at 3:49 PM, Brent Royal-Gordon via swift-evolution 
> <[email protected] <mailto:[email protected]>> wrote:
> I'm not sure about the rest of this, but...
> 
> >> 1. A backwards-compatible refactoring of `CollectionType.indices`, moving 
> >> it to `Indexable`.
> >>
> >> 2. A backwards-compatible refactoring of `indexOf(…)` (adding optional 
> >> `range:` and moving it to `Indexable`).
> >>
> >> 3. The addition of `rangeOf(…)`, `countOf(…)` and `isSorted(…)` to 
> >> `Indexable` with a TIME complexity of `O(self.count)`.
> >>
> >> 4. The introduction of a `BinarySearchView` on `Indexable`, allowing for 
> >> fast (`O(log2(self.count))`) searches on `Indexable` via `indexOf(…)`, 
> >> `rangeOf(…)`, `countOf(…)`, `lowerBoundOf(…)`, `upperBoundOf(…)` without 
> >> cluttering `Indexable`'s interface.
> 
> I don't think you quite understand what `Indexable` is for.
> 
> `Indexable` is a minimal protocol containing the very most basic parts of 
> `CollectionType`'s interface. It's used to avoid circular definitions in 
> `CollectionType`. The doc comments on it describe it as "almost an 
> implementation detail". I don't think it's appropriate to move a whole bunch 
> of stuff into `Indexable` when it's supposed to be a minimal protocol.
> 
> --
> Brent Royal-Gordon
> Architechies
> 
> _______________________________________________
> swift-evolution mailing list
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
> 
>  _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to