Ary Borenszweig wrote:
Andrei Alexandrescu wrote:
Steven Schveighoffer wrote:
On Tue, 28 Jul 2009 11:11:09 -0400, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:
Guess what - they both behave like functions. So their properties are an elaborate mechanism that is actually thoroughly unchecked, thus going back to what you could do by calling functions. So why the hell did they define the feature in the first place? Oh, for allowing people to write a.foo() instead of a.foo. You know what, that's a bit disappointing for an entire language feature.

No, they did it to *force* you to write a.foo instead of a.foo(), to make it more defined that foo is a field-like entity.

Which is not, because it can execute arbitrary code that is not restricted in any way. How good a design is that? Back to semantics by convention?

Back to semantics by convention?

Whenever you write *anything*, there's always semantic by convention.

writefln("Foo");

That writefln could just do antyhing with it's argument, maybe return it twice. So how do you enforce writefln to actually write something? Aaaah... D sucks because it can't enforce that.

I was replying to the expectation that a.foo() does an action and a.foo allegedly does not.

Andrei

Reply via email to