[swift-evolution] [Review] SE-0159: Fix Private Access Levels

Drew Crawford drew at sealedabstract.com
Fri Mar 24 22:23:56 CDT 2017

On March 24, 2017 at 10:11:07 PM, Xiaodi Wu (xiaodi.wu at gmail.com) wrote:

I agree absolutely with those aims: very predictable performance, expressive and clean model, simplified learning and common cases. I'm arguing that the giant table of dispatch rules (see: http://raizlabscom-wpengine.netdna-ssl.com/dev/wp-content/uploads/sites/10/2016/12/Summary-3.png) does not reach that goal.
But clattner believes it does.  This is clearer in his original, which is why I quoted it:

predictable performance model (someone writing a bootloader or firmware can stick to using Swift structs and have a simple guarantee of no dynamic overhead or runtime dependence)
("predictable performance" to clattner means "value types are direct")

while also providing an expressive and clean high level programming model - simplifying learning and the common case where programmers don’t care to count cycles.
("simplifying the learning" to clattner means that the programming model appears dynamic and the real performance characteristic is hidden.)

We know (because clattner told us here) what the design goal of Swift is with respect to static/dynamic dispatch.  You may not agree with it, but that is another issue.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170324/5c3ec5a3/attachment.html>

More information about the swift-evolution mailing list