Function calls

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Thu Jan 28 00:22:56 PST 2010


Michel Fortin wrote:
> On 2010-01-27 15:54:42 -0500, Andrei Alexandrescu 
> <SeeWebsiteForEmail at erdani.org> said:
> 
>> Now @property is in. That has created (as I had anticipated) the 
>> unresolved issue of choosing between @property or just function for 
>> any given parameterless function. Also I need to litter my code with 
>> @property. To this day I am not sure whether we made the right decision.
> 
> Well, perhaps it'd be better if it was 'property' instead of 
> '@property'. I find the distinction between keywords and attributes to 
> be pretty arbitrary, almost illogical.
> 
> I'm on the side that attributes (those keywords starting with @) should 
> be reserved to things you can ignore entirely without preventing the 
> program from working. For instance, remove all @safe and @trusted 
> attributes from a program and it still works with no change in behaviour 
> (except for when an error occurs). 'nothrow', 'pure', 'final', 
> 'deprecated' should be attributes; '@property' should be a regular 
> keyword. Protection attributes could be made attributes too since if you 
> remove them all everything still works.
> 
> So I think attributes should be reserved to non-essential but useful 
> stuff in the language, generally those things adding restrictions 
> without changing the semantics.

This was actually discussed before, and I think the general conclusion 
was that there is no useful definition of @attributes that includes 
@property.

I think I have an idea quite similar to yours, only slightly more 
specific. I'll post it in a new thread.

-Lars



More information about the Digitalmars-d mailing list