[swift-evolution] [Review] SE-0083: Remove bridging conversion behavior from dynamic casts

Austin Zheng austinzheng at gmail.com
Tue May 10 15:06:20 CDT 2016


* What is your evaluation of the proposal?

Strong support.

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

Yes. Language-level support for bridging between a certain fixed set of
Objective-C and Swift types is surprising behavior, especially since no
other dynamic conversions between otherwise-unrelated types using the
casting keywords are supported by Swift.

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

Very much so. It removes language features that don't have a compelling
reason to exist and replaces them with library initializers that have the
same level of expressiveness. And it is a more sound engineering decision
than the other principled alternative - to open up the dynamic conversion
machinery to allow user-defined conversions.

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

None. Swift's interoperability story with Objective-C is (to my knowledge)
unprecedented - it is far more involved than (e.g.) Scala interoperating
with Java. The core team has clearly been tracking what works and what
doesn't and making necessary changes as they present themselves, and this
is yet another along that path.

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

Carefully read through the proposal. Considered usage of 'as' and 'as?' in
prior projects, especially in code requiring bridging to/from
NSDictionaries. Read through the related threads.

Best,
Austin


On Tue, May 10, 2016 at 11:53 AM, Chris Lattner via swift-evolution <
swift-evolution at swift.org> wrote:

> Hello Swift community,
>
> The review of "SE-0083: Remove bridging conversion behavior from dynamic
> casts" begins now and runs through May 16. The proposal is available here:
>
>
> https://github.com/apple/swift-evolution/blob/master/proposals/0083-remove-bridging-from-dynamic-casts.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?
>         * 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,
>
> -Chris Lattner
> Review Manager
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160510/1ef821ad/attachment.html>


More information about the swift-evolution mailing list