> On Aug 24, 2017, at 8:57 PM, Chris Lattner via swift-evolution > <[email protected]> wrote: > > On Aug 24, 2017, at 1:59 PM, Dave DeLong via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: >> Keyword Explosion >> >> During the Great Access Control Wars of Swift 4, one of the points that kept >> coming up was the reluctance to introduce a bazillion new keywords to >> address all the cases that were being brought up. The impression I got is >> that adding new keywords was essentially an anti-pattern. And so when I’m >> reading through this onslaught of emails, I’m troubled by how everything is >> seeming to require new keywords. There’s the obvious async/await, but >> there’s also been discussion of actor, reliable, distributed, behavior, >> message, and signal (and I’ve probably missed others). > > I can’t speak for message/signal, but you need to understand a bit more about > how Swift works. There is a distinction between an actual keyword (which > ‘async’ would be, and ‘class’ currently is) and “modifiers”. Modifiers occur > with attributes ahead of a real keyword, but they are not themselves > keywords. They are things like weak, mutating, reliable, distributed, etc. > If we go with the “actor class” and “actor func” approach, then actor would > not be a keyword.
Concrete example, this is (weird but) valid code: var weak = 42 weak += 2 print(weak+weak) This is a consequence of weak not being a keyword. -Chris
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
