>       * What is your evaluation of the proposal?

The review is technically over, but I don't believe a decision has been 
announced yet, so...

I am generally in favor, but I have a serious concern about the readability of 
certain conversions with this change. To wit, conversions like these:

        myArray as! [NSView]
        myDictionary as! [String: NSView]

Are about to become something more like these:

        [NSView](forcedLazyBridging: myArray)
        [String: NSView](forcedLazyBridging: myDictionary)
        
Or these:

        Array<NSView>(forcedLazyBridging: myArray)
        Dictionary<String, NSView>(forcedLazyBridging: myDictionary)

Either option is a significant regression in code readability compared to the 
status quo.

It's enough to make me wonder if we shouldn't have special-cased conversion 
methods for NSArray, NSDictionary, and NSSet:

        myArray.of(NSView)                              // returns [NSView]
        myDictionary.of(NSView, for: String)    // returns [String: NSView]
        mySet.of(NSView)                                        // returns 
Set<NSView>

On the other hand, if you *don't* have to specify an element type, these aren't 
so bad:

        Array(forcedLazyBridging: myArray)
        Dictionary(forcedLazyBridging: myDictionary)

And it gets even better if you use something a little saner than 
`forcedLazyBridging` for the label.

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

Yes. Conversions are a mess, and it'll be nice to clean them up.

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

Yes.

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

Most languages I've used have had much simpler cast systems with nothing 
particularly close to Swift's bridging casts.

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

Quick reading.

-- 
Brent Royal-Gordon
Architechies

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to