New syntax for string mixins
Nick Sabalausky
a at a.a
Tue Dec 14 10:13:47 PST 2010
"Graham St Jack" <Graham.StJack at internode.on.net> wrote in message
news:ie76ig$b2v$1 at digitalmars.com...
>
> 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 _ at name;
@type @name ()
{
return _ at name;
}
@type @name (@type @name)
{
return _ at 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.
More information about the Digitalmars-d
mailing list