>>> When we introduce property behaviors, the surface level syntax for this >>> sort of thing is likely to remain the same, and it therefore stands to >>> reason that the behavior “accessors” would follow the same convention as >>> keywords. >> >> Yes, but what will the conventions be? Is the accessor for the "did change" >> behavior going to be `didchange` or `didChange`? > > I’m arguing for “didchange”. > > To be clear, this is just my personal opinion, but even in the context of a > general user-defined behavior, these things seem extremely "keyword like” > from the users perspective. To a user of a behavior, these aspects are not > arbitrary user defined names, they are specific things that you can pick > from. The existing accessors clearly work the same way.
Okay. That was not the answer I expected :^), but if that is your answer, and if you're pretty confident in that answer, then I support changing willSet and didSet. >> *That*—not some general rule about keywords which is primarily designed to >> address things like `fallthrough` and `associatedtype`—is what I think >> `willSet` and `didSet` ought to match. Users do not care whether something >> comes out of the standard library or the language grammar; they care whether >> it has the feel of other things which fit that syntactic slot. > > I don’t understand what you’re trying to say here. I'm trying to articulate a general rule, that when there is a built-in thing that goes alongside user-defined things, the built-in thing should be capitalized like the user-defined things even if it's implemented as a "keyword". That is, nobody cares whether dynamicType is a keyword or an extension on Any, and nobody cares whether willSet is a keyword or an accessor for a built-in property. Since they behave like something else in the grammar, they should be spelled like that thing, too. >> (For instance, a perhaps controversial opinion: I think `dynamicType` is >> properly capitalized for the syntactic >> slot it's in. > > As I mentioned down-thread, the problem with .dynamicType is that it is in > the wrong slot :-) I don't necessarily disagree. What I'm saying is, fake properties should be capitalized like real properties, and fake accessors should be capitalized like real accessors. -- Brent Royal-Gordon Architechies _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
