The evolution will be televised: Current and upcoming proposal reviews

Yesterday began the start of review for Oisin Kidney’s Lazy flatMap proposal. If you have any questions about the proposal, Oison is available on Twitter. The review will go to tomorrow. It’s a pretty straightforward tweak to the language to bring flatMap for arrays-of-optionals in compliance with the current behavior of flatMap for arrays-of-sequences.

(As Mike Ash pointed out this morning on an unrelated point, you can map arrays, you can map optionals, but when you map optional arrays, expect the unexpected.)

Next up is the required-self proposal, which I hope gets voted down in flames.  I endorse using self when it makes sense to do so but I don’t like the idea of a heavy-handed universal language-mandate. It’s due for review between today and the 20th.

Xcode already offers syntax highlighting to communicate usage. This can be left as a per-shop standard and linting exercise. Compare mandated-self to try!, or as I now call it (thanks weaksauce) the “Swift YOLO operator“. There’s almost always a better way to approach coding but I don’t want it removed from the language.

Also upcoming are a proposal to use a distinct keyword for associated type declarations (seems like a no-brainer yes), one that attempts to tweak the way superclass methods are partially applied (I am agnostic at this point, haven’t really read this thoroughly), and one by Lily Ballard about Unicode scalar views — which follows the Second Rule of Lily. The Second Rule of Lily goes like this: If Lily has proposed it, I probably support it even though I need to read through it at some point before the voting goes live.

Between the 18th and the 21st, review opens for Proposal SE-0014. Max Moiseev writes, “In order to allow AnySequence delegate calls to the underlying sequence, its initializer should have extra constraints.” I honestly haven’t been following this discussion so I may give this vote a pass.

You’ll find all the Swift mailing lists, including the Swift-Evolution list on which language changes are discussed, at’s community page.

Comments are closed.