Nick Sabalausky, el 24 de julio a las 00:39 me escribiste: > An alternate usage/definition syntax for properties. > > http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP4 > > Note that there are a few parts marked NEED HELP, that could use assistance > from someone with more expertise in this than me.
After reading all the threads again, I think the best proposal is the opGet_foo() / opSet_foo() for diferentiating functions and properties. I think is the more D-ish solution. I don't like the "_name" though, because it adds semantic infomation to the identifier, maybe a more template-like syntax can be used: class X { private int _foo; public string _bar; long opGet(baz)() { return _foo + _bar.lenght; } void opSet(baz)(int x) { assert(x >= _bar.lenght); _foo = x - _bar.lenght; } void f() { auto b = baz; // opGet(baz)() b += 10; baz = b; // opSet(baz)() } } I used an example without trivial properties because... well, you just use member variables for that. That's why I don't see real value in adding default properties getter/setters. I don't see DRY as a real problem either, for non-trivial properties. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- EL PRIMER MONITO DEL MILENIO... -- Crónica TV