On Tuesday, 27 January 2015 at 17:18:11 UTC, Nick Treleaven wrote:
On 27/01/2015 16:49, Jonathan M Davis via Digitalmars-d wrote:
abstract also applies to classes, as does final.

Yes, but they actually only affect the *functions* belonging to the class, not the variables. A class is not a variable.


I think you may have missed the point. I believe what Jonathan is saying is that if you turn abstract into @abstract then you have to consider how to solve the "abstract class" issue. Do you change it to:

@abstract class ?

Same thing with final. Since the same keywords are used in a lot of different contexts, if you change how it is used in one context then it's going to be inconsistent with how it's used in the other contexts (like with a function or a class). Then if you want consistency (which is the point of why we are discussing this change in the first place) you have to change every context it is used in. If you follow through with your proposal, you'll end up putting a '@' character before almost every keyword in the language which has no benefit since the '@' symbol serves no useful purpose to the compiler in the first place (on a keyword at least).

Reply via email to