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 n...@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 <[email protected]
<mailto:[email protected]>> wrote:

    On 06/23/2010 10:59 AM, Max Samukha wrote:



        On Wed, Jun 23, 2010 at 5:45 PM, Andrei Alexandrescu
        <[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>> 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
    [email protected] <mailto:[email protected]>
    http://lists.puremagic.com/mailman/listinfo/phobos




_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to