Yet a new properties proposal

Steven Schveighoffer schveiguy at yahoo.com
Wed Jul 29 15:12:41 PDT 2009


On Wed, 29 Jul 2009 18:07:19 -0400, Dimitar Kolev  
<DimitarRosenovKolev at hotmail.com> wrote:

> Steven Schveighoffer Wrote:
>
>> On Wed, 29 Jul 2009 17:46:39 -0400, Dimitar Kolev
>> <DimitarRosenovKolev at hotmail.com> wrote:
>>
>> > Steven Schveighoffer Wrote:
>> >
>> >> On Wed, 29 Jul 2009 14:59:38 -0400, Dimitar Kolev
>> >> <DimitarRosenovKolev at hotmail.com> wrote:
>> >>
>> >> > Steven Schveighoffer Wrote:
>> >> >
>> >> >> I don't see what advantages this has over other proposals.  What  
>> is
>> >> >> wrong
>> >> >> with a.a such that we have to resort to a#a?
>> >> >>
>> >> >> -Steve
>> >> >>
>> >> >
>> >> > People are crying over compilers not know which is a property and
>> >> which
>> >> > is not.
>> >>
>> >> At definition time, not usage time.  I want the usage to be  
>> identical to
>> >> fields, otherwise, it's not as seamless.  This makes an important
>> >> difference for generic code.
>> >
>> > What if the compiler just expanding this to well inlining. So a#a = 3
>> > would just means a.a = 3 just that the compiler will have easier time
>> > understanding this.
>>
>> If you specify a property at definition by doing int#a, then why do you
>> also need to specify it's a property when calling it?  And if it's not
>> necessary, then your proposal is no different than adding a keyword.  On
>> those merits, it's fine with me if people think int #a is better than
>> property int a, but I absolutely don't want to have to modify my code to
>> call properties using a #.
>>
>> -Steve
>
> Since when is D 2.0 frozen so that we have to take care of old D 2.0  
> code.
>
> This is not an accusation just a reminder. Hope ware not going for the  
> mistakes of C++.

I understand that D2 is not frozen.  I don't want to call properties with  
a#b instead of a.b in D2, D3, or even D4, unless you can show that it  
provides some benefit.  From what I can tell, it does not.  Sorry.  I  
don't mean to be harsh, but I don't think your proposal makes any sense at  
all.  Maybe you can answer my first question -- why do you need to call a  
property with a#b when you can call it with a.b?

-Steve




More information about the Digitalmars-d mailing list