[phobos] phobos commit, revision 1689

Andrei Alexandrescu andrei at erdani.com
Wed Jun 23 09:18:34 PDT 2010


Walter tried to enable the restriction at some point but that breaks a 
ton of code in Phobos (and probably elsewhere). We discussed adding it 
as an compiler flag that I'd turn on, get Phobos to work, and then check 
in before dmd makes it mandatory.

@property is a prime example countering the theory that Walter doesn't 
listen to what's going on on the newsgroup (lazy is another one.) 
Unfortunately, design by newsgroup is seldom good, sigh. Landslide 
popular vote is not a good measure of quality. Good examples of 
proposals coming from the newsgroup have been, I think, most always 
originating from strong individual propositions (e.g. Steve's inout).


Andrei

On 06/23/2010 11:11 AM, David Simcha wrote:
> When is @property going to start being enforced, i.e. when are you going
> to no longer be able to call non @property functions w/o ()s or assign
> using the = sign to a non- at property function?  I never really followed
> the newsgroup discussion b/c I was happy with the old status quo and
> didn't think Walter would give in, so I lost track of what exactly
> @property even does.
>
> On Wed, Jun 23, 2010 at 12:07 PM, Andrei Alexandrescu <andrei at erdani.com
> <mailto:andrei at erdani.com>> wrote:
>
>     On 06/23/2010 10:59 AM, Max Samukha wrote:
>
>
>
>         On Wed, Jun 23, 2010 at 5:45 PM, Andrei Alexandrescu
>         <andrei at erdani.com <mailto:andrei at erdani.com>
>         <mailto:andrei at erdani.com <mailto:andrei at erdani.com>>> wrote:
>
>             I think it should be a property. I followed the convention that
>             stuff that doesn't change "this" is a property.
>
>             Andrei
>
>
>         But property setters are often supposed to change 'this'?
>
>
>     Well of course I was referring to getters.
>
>
>         Honestly I can
>         hardly see much utility in @property. For example, Q_PROPERTY in
>         Qt adds
>         value. It is introspectable, can fire a notification when changed,
>         optionally shows up in the designer, is resettable to a default
>         value
>         and more. Is @property only useful for disambiguating the case
>         when a
>         function returns a callable?
>
>
>     On the same grounds, I opposed @property tooth and nail and now,
>     unpleasantly enough, my worst scares are coming true: @property is a
>     non-falsifiable sham, a convention defined for the sake of following
>     it. I strongly believe the alternatives I proposed would have been
>     vastly better.
>
>
>     Andrei
>
>     _______________________________________________
>     phobos mailing list
>     phobos at puremagic.com <mailto:phobos at puremagic.com>
>     http://lists.puremagic.com/mailman/listinfo/phobos
>
>
>
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos


More information about the phobos mailing list