We are Devo: Swift Evolution continues

Things that caught my eye over the weekend:

Extending import capability. Should imports integrate with the Swift Package Manager and web-based repos? I think they should! Could they include pick-and-choose members using whitelists and blacklists for inclusion and exclusion?  It’s intriguing but I’m not entirely sold on this. Robert Widmann got the conversation rolling on more nuanced import statements.

Growing from other languages. Other language features continue to pop-up on-list, especially from Rust, Haskell, Scala, Ruby, and the like. It will be interesting to see which make it into the standard library and whether there might be separate Rust-like and Ruby-like imports instead of a mega-standard-lib. Kevin Ballard has a new proposal for a few useful standard calls.

Naming Overloads. How do you use selectors in an overloaded language, especially when working with currying-like concepts and other Swift-y features? Doug Gregor has a proposal.

Other hot topics continue on-list for a variety of proposals include member-wise initialization for classes (for it! but need to figure out how to establish defaults), method chaining (hopefully this one makes it to the big leagues some day!), the eternal search for a better typealias keyword (“associatedType“. You can bet your hat on it), for better behaved collection enumeration (Nate Cook did a lot on this a few months ago), and whether Swift should be pushing hard-to-type symbol naming like lambdas (it’s coming in updated Set operations by the way — or it will if I am not entirely hallucinating this feature, which I very well may be. Where did I see this? Was a it a pull request?).

Otherwise, most everyone is enjoying the holidays, overloading on the nog, and looking forward to 2016, and to the continuing evolution of Swift.

One Comment

  • … hard-to-type symbol naming like lambdas (it’s coming in updated Set operations by the way — or it will if I am not entirely hallucinating this feature, which I very well may be. Where did I see this? Was a it a pull request?)

    Maybe this is what you saw? SwiftExperimental.swift