"Graham St Jack" <[email protected]> wrote in message
news:[email protected]...
>
> What you are suggesting here seems to be a way to dramatically reduce the
> complexity of code that generates source-code and mixes it in. I think
> something like that is needed before this mind-bogglingly powerful feature
> of D can realise its potential.
>
I think a decent string-template library could probably come very close to
the proposal without needing any language changes at all:
string get_set(T, string name)()
{
return
q{
@type _...@name;
@type @name ()
{
return _...@name;
}
@type @name (@type @name)
{
return _...@name = @name;
}
}.replace( ["@type": T.stringof, "@name": name] );
}
class Foo
{
mixin(get_set!(int, "bar")());
}
There are definitely some things about the proposal that are better than
with this, but I just wanted to point out that the value of the proposal
should probably be evaluated against something roughly like the above rather
than something that does a bunch of procedural string splicing.