[swift-evolution] [Swift4] Priorities and Sugar
clattner at apple.com
Fri Jul 29 20:33:35 CDT 2016
On Jul 29, 2016, at 5:53 PM, Magnus Ahltorp <map at kth.se> wrote:
>>> Is it appropriate to discuss high-level topics that are not one of the topics on your list? Example: Decreasing the number of cases where unsafe constructs have to be used.
>>> If it is not, how do topics get on the list?
>> If a topic is related to source or ABI compatibility, it is fair game for discussion. We don’t want to widen the doors beyond this, because that is already a huge set of very important topics.
> I assume you mean for Swift 4 Stage 1?
Yes, I was referring to Stage 1, sorry for not being specific.
> I was more referring to the Stage 2 list of high-level topics. When/how will it be appropriate to discuss what the topics should be? Before or after Stage 1 is completed, or not at all?
Stage 2 discussions will start once the work for Stage 1 is well understood and the implementation work starts converging (but is not necessarily done). My wild guess is sometime in the early spring next year.
> Also, "Our goal is to be better at string processing than Perl!" doesn't seem to be very related to ABI stability, but it is listed under Stage 1.
Great point, let me clarify: I expect String to get a major design overhaul. For example, sizeof(String) is currently three words, but it should be one. Relatedly, the API exposed by it is known to need revisions. All of that work clearly impacts the ABI, and so it is a key project for Stage 1.
There is also a lot of other work that will build on that Stage 1 work, but is appropriate for Stage 2. I’m personally convinced that we don’t get to great string processing without regular expressions (as one example), but they are clearly out of scope for Stage 1. That’s ok though: the design work for the Stage 1 string design can just assume that that will come in at some point, and make sure the ultimate design anticipates that.
More information about the swift-evolution