[swift-evolution] [swift-evolution-announce] [Review] SE-0156: Class and Subtype existentials

David Hart david at hartbit.com
Wed Mar 1 14:22:42 CST 2017


> On 1 Mar 2017, at 21:20, Matthew Johnson <matthew at anandabits.com> wrote:
> 
> 
>> On Mar 1, 2017, at 2:16 PM, David Hart <david at hartbit.com <mailto:david at hartbit.com>> wrote:
>> 
>> 
>> 
>> On 1 Mar 2017, at 21:01, Matthew Johnson via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>>> 
>>>> On Mar 1, 2017, at 1:59 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> 
>>>> A good and necessary enhancement. My only objection is to the ordering rules—I'm not convinced that they pull their weight, especially given that typealiases can be used to introduce class constraints that aren't in the leftmost position. It's a lot of rules and strictures for a dubious benefit. 
>>> 
>>> I made a similar comment in the discussion thread.  I don’t feel strongly enough to argue over it, but it does feel like a rather arbitrary limitation.
>> 
>> Same reasoning for class being the first in the inheritance/conformance list: it allows you to quickly read a list and see if there is a class where you expect it. The fact that one may come from a typealias is a different story: it's the difference between being able to quickly read an expression and understanding the whole function it's contained in.
> 
> Yep, I understand this.  The difference is that in the inheritance list if there is a class present it must always be explicitly declared.  This means you can always tell whether a class is involved by looking at the first item in the list.  That is not the case when existential are composed.  If you can’t rely on this in all cases the limitation feels somewhat arbitrary.
> 
> That said, it’s not a big deal.  I appreciate the proposal very much! :)

Yeah, it’s a detail :) Just trying to describe my thought process.

>> 
>>>> 
>>>> -- 
>>>> Brent Royal-Gordon
>>>> Sent from my iPhone
>>>> 
>>>> On Feb 28, 2017, at 1:11 PM, Douglas Gregor <dgregor at apple.com <mailto:dgregor at apple.com>> wrote:
>>>> 
>>>>> Hello Swift community,
>>>>> 
>>>>> The review of SE-0156 "Class and Subtype existentials" begins now and runs through March 7, 2017. The proposal is available here:
>>>>> 
>>>>> https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md <https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.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 <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/0156-subclass-existentials.md <https://github.com/apple/swift-evolution/blob/master/proposals/0156-subclass-existentials.md>
>>>>> Reply text
>>>>> 
>>>>> Other replies
>>>>>  <https://github.com/apple/swift-evolution/pull/607/files#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 <https://github.com/apple/swift-evolution/blob/master/process.md>
>>>>> Thank you,
>>>>> 
>>>>> -Doug
>>>>> 
>>>>> Review Manager
>>>>> 
>>>>> _______________________________________________
>>>>> swift-evolution-announce mailing list
>>>>> swift-evolution-announce at swift.org <mailto:swift-evolution-announce at swift.org>
>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution-announce <https://lists.swift.org/mailman/listinfo/swift-evolution-announce>
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>> 
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170301/88a0f33c/attachment.html>


More information about the swift-evolution mailing list