> 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

Reply via email to