On 2011-10-03 20:22, Piotr Szturmaj wrote:
Aleksandar Ružičić wrote:
What about using an attribute for that?
Looks like a good use case for user defined attributes (I need to write
DIP on that).
There are of course many other possible use cases like Object/Relational
Mapping, RPC/Remoting, debugger visualization overrides, hints for the
GC, etc.
User defined attributes provide a powerful way to extend language
without constantly upgrading the compiler (and avoiding "too many
features" in it).
I would love to hear any opinions about general idea of user defined
attributes in D, not necessarily this particular syntax as it is only
my loud thinking, though it should show what the whole thing is about.
I would love this see this as well. I think it needs to be accessible at
runtime too. It should be possible to get the attributes of a class
through a base class reference and it should return the attributes of
the runtime type.
I would like to have something similar as this possible as well:
class Foo
{
@get_set int x;
}
Would insert a getter and setter for "x" like this:
class Foo
{
int x_;
int x () { return x_; }
int x (int x) { return x_ = x; }
}
An attribute should be able to insert something else instead of the
symbol it applies to, or nothing at all.
--
/Jacob Carlborg