New syntax for string mixins

Jacob Carlborg doob at me.com
Tue Dec 14 11:56:19 PST 2010


On 2010-12-14 19:13, Nick Sabalausky wrote:
> "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.

The whole point of the idea was to get rid of the strings and the mixin 
expression (as it looks like to day).

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list