[swift-evolution] [swift-evolution-announce] [Review] SE-0176: Enforce Exclusive Access to Memory

Howard Lovatt howard.lovatt at gmail.com
Tue May 2 18:08:28 CDT 2017


> review of SE-0176: "Enforce Exclusive Access to Memory"
> 
> What is your evaluation of the proposal?

+1, not only will the code be better optimised but also the code will be easier to understand. It is also nice that there is formal clarity about what the compiler should do. Proposal should probably be expanded to require an annotation to mark when part of a value is aliased, e.g. a method that returns a slice of an array should be annotated to mark that an access to the returned slice will add exclusivity to the original array as well as the slice itself. 
> Is the problem being addressed significant enough to warrant a change to Swift?

Yes, Swift is meant to be an easy to use and safe language with good performance. These changes improve all these aspects. 
> Does this proposal fit well with the feel and direction of Swift?

Yes, brings clarity and sets Swift up well for the future. 
> If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

Not exactly and not as strong as these guarantees at the compiler level. Other languages with a runtime VM do offer such guarantees dynamically, e.g. Java. The java compiler codes conservative code and then the JVM will optimise that code once running and it can be proved to be safe. Obviously in Swift with optimisation happening at compile time this isn't possible.
> How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Have had problems with accessing sub-sections of arrays, which whilst safe was very slow, presumable because of conservative coding by the compiler. 

-- Howard.

> On 3 May 2017, at 6:07 am, Ben Cohen <ben_cohen at apple.com> wrote:
> 
> Hello Swift community,
> 
> The review of SE-0176: "Enforce Exclusive Access to Memory" begins now and runs through May 8, 2017.
> 
> The proposal is available here:
> 
> https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md
> Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at:
> 
> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> or, if you would like to keep your feedback private, directly to the review manager. 
> 
> When replying, please try to keep the proposal link at the top of the message:
> 
> Proposal link:
> 
> https://github.com/apple/swift-evolution/blob/master/proposals/0176-enforce-exclusive-access-to-memory.md
> Reply text
> 
> Other replies
> 
> 
> What goes into a review?
> 
> The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
> 
> What is your evaluation of the proposal?
> Is the problem being addressed significant enough to warrant a change to Swift?
> Does this proposal fit well with the feel and direction of Swift?
> If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
> How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
> More information about the Swift evolution process is available at:
> 
> https://github.com/apple/swift-evolution/blob/master/process.md
> 
> 
> Thanks,
> Ben Cohen
> Review Manager
> 
> _______________________________________________
> swift-evolution-announce mailing list
> swift-evolution-announce at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution-announce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170503/654ce65e/attachment.html>


More information about the swift-evolution mailing list