[Review] SE-0049 Move @noescape and @autoclosure to be type attributes


(Douglas Gregor) #1

Hello Swift community,

The review of SE-0049 "Move @noescape and @autoclosure to be type attributes" begins now and runs through March 31, 2016. The proposal is available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0049-noescape-autoclosure-type-attrs.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/0049-noescape-autoclosure-type-attrs.md
Reply text

Other replies
<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>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
Thank you,

-Doug Gregor

Review Manager


(Howard Lovatt) #2

+1

···

On Tuesday, 29 March 2016, Douglas Gregor via swift-evolution < swift-evolution@swift.org> wrote:

Hello Swift community,

The review of SE-0049 "Move @noescape and @autoclosure to be type
attributes" begins now and runs through March 31, 2016. The proposal is
available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0049-noescape-autoclosure-type-attrs.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/0049-noescape-autoclosure-type-attrs.md

Reply text

Other replies

<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>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

Thank you,

-Doug Gregor

Review Manager

--
-- Howard.


(Brent Royal-Gordon) #3

https://github.com/apple/swift-evolution/blob/master/proposals/0049-noescape-autoclosure-type-attrs.md

  • What is your evaluation of the proposal?

I am enthusiastically in favor for @noescape. I am also in favor for @autoclosure.

However, I think there is a larger issue here. In several recent attribute discussions—particularly around @autounwrapped and @discardable—options have been discarded at least partially because the attributes didn't make sense as decorations on a property or return value's type, and yet there was no way to decorate the value itself.

@noescape and @autoclosure *do* make sense as attributes decorating a type, and they should be changed to do that. But make no mistake: the concept of attributes on parameters and return values *is* still needed, because already today it is preventing us from adopting excellent designs.

  • Is the problem being addressed significant enough to warrant a change to Swift?

Yes. Unutterable types are a big problem.

  • Does this proposal fit well with the feel and direction of Swift?

Yes.

  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

I don't think I have relevant experience.

  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Read the proposal and participated in discussion.

···

--
Brent Royal-Gordon
Architechies


(Lily Ballard) #4

Hello Swift community,
The review of SE-0049 "Move @noescape and @autoclosure to be type
attributes" begins now and runs through March 31, 2016. The proposal
is available here:

I know the review period has elapsed, but the proposal is still marked
as under review so I'll review it anyway :slight_smile:

* What is your evaluation of the proposal?

+1. Seems like a perfectly reasonable change to make.

* Is the problem being addressed significant enough to warrant a
   change to Swift?

Yes.

* Does this proposal fit well with the feel and direction of Swift?

Yes.

* How much effort did you put into your review? A glance, a quick
   reading, or an in-depth study?

A glance.

-Kevin Ballard

···

On Mon, Mar 28, 2016, at 09:48 AM, Douglas Gregor wrote:


(TJ Usiyan) #5

- What is your evaluation of the proposal?

+1

   - Is the problem being addressed significant enough to warrant a change
   to Swift?

Yes

   - Does this proposal fit well with the feel and direction of Swift?

Yes. In particular, @noescape fits much better as a type attribute

   - If you have used other languages or libraries with a similar feature,
   how do you feel that this proposal compares to those?

no

   - How much effort did you put into your review? A glance, a quick
   reading, or an in-depth study?

I followed the discussion and have puzzled over and discussed @noescape and
@autoclosure many times.

···

On Mon, Mar 28, 2016 at 12:48 PM, Douglas Gregor <dgregor@apple.com> wrote:

Hello Swift community,

The review of SE-0049 "Move @noescape and @autoclosure to be type
attributes" begins now and runs through March 31, 2016. The proposal is
available here:

https://github.com/apple/swift-evolution/blob/master/proposals/0049-noescape-autoclosure-type-attrs.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/0049-noescape-autoclosure-type-attrs.md

Reply text

Other replies

<https://github.com/apple/swift-evolution#what-goes-into-a-review-1>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

Thank you,

-Doug Gregor

Review Manager

_______________________________________________
swift-evolution-announce mailing list
swift-evolution-announce@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution-announce