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