[swift-evolution] [swift-evolution-announce] [Review] SE-0143: Conditional Conformances
Matthew Johnson
matthew at anandabits.com
Fri Sep 30 09:17:16 CDT 2016
> What is your evaluation of the proposal?
Huge +1. Conditional conformances are at the very top of the list of frustrating limitations in Swift. Lifting that limitation can’t happen soon enough for me.
I have some concern that the restriction on overlapping conformances could continue to cause occasional frustration at times. However, I don’t have a solid basis for that concern in the sense of specific use cases. Doug also raises very good points about the complexity they introduce.
I would like to see the specific details and restrictions discussed in more detail and possibly revised following that discussion. I trust the core team to make the right decision. If, after in-depth discussion, the core team decides to accept the proposal as-is I support that. Conditional conformances are a huge step forward. We will gain a tremendously important facility with them even if pain points still remain. That said, I do hope we will have options for addressing pain points that arise down the road.
I would also like to see serious consideration given to the performance implications of choosing the “least specialized” (but most general) conformance. As noted in the discussion, this seems like it could be a slippery slope to sub-optimal performance. My hope for Swift is that generic code will achieve performance as close to the “zero cost abstraction” principle in the C++ community (especially if / when we have a Rust-like ownership system that allows us to avoid reference counting).
> Is the problem being addressed significant enough to warrant a change to Swift?
Yes. It is one of the most significant problems with the current state of the language.
> 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?
I am extremely familiar with the limitations of the current model having bumped up against them continuously. I have given this specific proposal consideration somewhere between a quick read and an in-depth study. I have been following the discussion in-depth and have read everyone’s comments carefully.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160930/d446f498/attachment.html>
More information about the swift-evolution
mailing list