[swift-evolution] [swift-evolution-announce] [Review #3] SE-0117: Allow distinguishing between public access and public overridability

Daniel Duan daniel at duan.org
Mon Jul 25 02:59:04 CDT 2016


* What is your evaluation of the proposal?
+1 for option 1.

* Is the problem being addressed significant enough to warrant a change to Swift?
Yes, accidental or thoughtless exposure of non-final classes from 3rd party libraries are something worth addressing.

* Does this proposal fit well with the feel and direction of Swift?
Yes. Having the privilege of working on a mature, pure Swift app, I can say that both code reuse and polymorphism can and should be better achieved without class inheritance (or classes at all, most of the time).

As alluded in the motivation section of the proposal, a third party Swift library down the line would mostly provide struct/enum types for users. Classes may be included to provide objects with reference semantics, these would be marked final by a responsible author today. And then, we have rare cases where inheritance is intended to provide customization and code reuse. The change in this proposal is sensible both for responsible library authors (who would stop worrying about missing `final`s), and for sloppy authors (who now are forced think about the interface of the library more). Ultimately, we'll get better libraries (to an extent) and happier users.

That's a direction I'd like Swift to go.

* 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?
Read all 3 versions and all discussions on this list. Also followed a lot of related threads on Twitter. Had quite a few discussions of it with ppl smarter than me IRL.

Sent from my iPad

> On Jul 21, 2016, at 8:33 AM, Chris Lattner <clattner at apple.com> wrote:
> 
>    * 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160725/b67f0f46/attachment.html>


More information about the swift-evolution mailing list