> On May 24, 2016, at 7:56 PM, Chris Lattner <[email protected]> wrote:
> 
> 
>> On May 24, 2016, at 12:00 AM, L. Mihalkovic <[email protected]> 
>> wrote:
>> 
>> 
>> 
>>>> On May 24, 2016, at 1:21 AM, Chris Lattner via swift-evolution 
>>>> <[email protected]> wrote:
>>>> 
>>>> On May 23, 2016, at 2:17 AM, Jeremy Pereira via swift-evolution 
>>>> <[email protected]> wrote:
>>>> The collection model, API guidelines and standard library are actually 
>>>> irrelevant to the ABI. The standard library API and the Swift ABI are 
>>>> distinct orthogonal concepts.
>>> 
>>> I’m not sure what you’re saying.  If you change the API shipped by the 
>>> standard library, it obviously breaks anything that links to it.
>>> 
>>> The whole point of ABI stability is to not break apps built with old 
>>> versions of Swift compiler / standard library.
> 
>> I regularly read see how stability is a high prioriy goal going forward. But 
>> what I have not found yet what the plan is going to be to achieve it without 
>> stiffling the standard library? Are there constructs, or rules is 
>> place/planned that map how changes of kind A versus B level changes will be 
>> keeping/breaking compatibility? (I have not finished all the docs)
> 
> Once ABI stability is established, functionality can only be added to the 
> standard library, not removed or have a significant behavior change.  For 
> example, fundamentally changing the index model for collections would be 
> impossible, but adding a new kind of collection would be fine.
> 

Thank you for taking the time to reply. 
I am interested in understanding how finer granularity changes like adding 
methods to protocols, or adding new conformance requirements to existing types 
will or not impact compatibility. For eg I read about the possibility of 
upcoming default implementations in protocol. Is that part of the long term 
binary compatibility plans, or unrelated? I do realize many answers are in the 
compiler dev-list (read most but not all), the docs and the source code (have 
yet to read what's loaded at runtime from the binary) but any pointers would be 
appreciated.
Thank you again.

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

Reply via email to