[swift-evolution] Winding down the Swift 3 release

Jeremy Pereira jeremy.j.pereira at googlemail.com
Thu May 19 04:12:53 CDT 2016

> On 17 May 2016, at 14:38, Rod Brown <rodney.brown6 at icloud.com> wrote:
> While on the face of it, you are correct, the goals have changed dramatically, I think you are being unfair.

The goals changed dramatically last week. It’s there in the git history. Last week was *after* the first developer preview of Swift 3.

I’m not being unfair, I’m being realistic. 

> Swift 3 initial scope was determined prior to the input of the Swift Evolution community, just as it was being Open Sourced. As we have explored the language in many discussions, it has been clear there are other areas of the language that needed clean and polish before a stable ABI can be established.

I have no objection to having changed priorities, but these need to be communicated at the time the priorities change. When exactly was the stable ABI priority dropped? Was it last week, or was it months ago? Looking at the git history it was last week and the Swift community was not consulted in that change AFAIK. 

Nobody outside of the development team knew that all this debate about relatively minor language features was going to prevent us from meeting the goals for Swift 3. If we had known, maybe a lot of the issues that we did talk about would have been deferred instead of completing generics and a stable ABI. If somebody had said to you “we can make all these relatively minor changes to the language or we can complete generics, but not both” which would  you have chosen? 

> It appears that this work is more involved than the Swift Team initially envisioned. The fact they are open to changing timelines and ensuring we get fundamentals of the language sorted is a testament to their commitment to the quality of Swift as a whole.

Is completing the generic system fundamental or not? I’d say it is vastly more fundamental than removing C style for loops, wouldn’t you?

More information about the swift-evolution mailing list