User Defined Attributes
Jacob Carlborg
doob at me.com
Tue Nov 6 10:01:29 PST 2012
On 2012-11-06 17:04, Walter Bright wrote:
>> How about this then:
>>
>> @mtype("foo", 3, "bar") int a;
>>
>> And have the argument list be optional? I really like to have a short
>> nice
>> looking syntax for the simple use cases, i.e.
>>
>> @mtype int b;
>>
>
> There's a lot more you can do with the ArgumentList syntax than
> associative arrays. Furthermore, there remains the problem of how mtype
> fits into the name scoping system.
As I just wrote above, how about this:
@mtype("foo", 3, "bar") int a;
@mtype int b;
In the above example, the values in the parentheses would be the same as
your ArgumentList. The important thing here is also to have the
ArgumentList and parentheses be optional.
What's the issue with the name scoping system? That the user defined
attributes will conflict with already existing attributes? You'll have
the same problem with keywords. Perhaps that's why attributes where
created, to have a new namespace for keywords. Even if they might not be
the same internally for the compiler it's the same for the user/developer.
Just as we have operator overloading to allow user defined types to look
like built-in types we/I want the same thing for user defined attributes.
--
/Jacob Carlborg
More information about the Digitalmars-d-announce
mailing list