On Wed, Jun 22, 2016 at 11:04 AM Chris Lattner via swift-evolution < [email protected]> wrote:
> Hello Swift community, > > The review of "SE-0095: Replace `protocol<P1,P2>` syntax with > `Any<P1,P2>`" begins now and runs through June 27. The proposal is > available here: > > > https://github.com/apple/swift-evolution/blob/master/proposals/0095-any-as-existential.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. > > What goes into a review? > > The goal of the review process is to improve the proposal under review > through constructive criticism and contribute to 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? > +1. This syntax is clean and its meaning is very clear ("what is A & B? A type that conforms to A and B"). * Is the problem being addressed significant enough to warrant a > change to Swift? > Yes, and it's important to address now. As the type system becomes richer in the future with the completion of generics, combined with Swift's protocol-driven design philosophies, this feature will get much heavier use going forward. Having a clean, simple, terse syntax to express multiple protocol conformances (and eventually concrete type relationships) will make those features much easier to use without being cluttered by keywords and potential nested-angle-bracket hell. The previously proposed Any<...> syntax suffers from ambiguity of meaning: does it mean "a type that conforms to any of these..." or "any type that conforms to all of these..."? Turns out it's the latter. The use of "&" removes that ambiguity completely. > * Does this proposal fit well with the feel and direction of Swift? > Yes. It will go a long way toward making protocol-driven designs and generics great to use. > * 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? > Read the proposal and participated a small amount in the earlier discussions. > > More information about the Swift evolution process is available at > > https://github.com/apple/swift-evolution/blob/master/process.md > > Thank you, > > -Chris Lattner > Review Manager > > _______________________________________________ > swift-evolution mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-evolution >
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
