On Tue, 02 Nov 2010 10:03:23 -0400, Andrei Alexandrescu <[email protected]> wrote:

Thanks, Kenji. All - ideas for a better name? "interp"? Full "interpolate"? Leave it as "expand"?

Andrei

Well, "interpolate" and "interp" have mathematical connotations to me, so vote-- for those. Note that functionality of this seems very similar to both format and text:

enum int a = 10;
enum string op = "+";
static assert(mixin(expand!q{ ${a*2} ${op} 2 }) == q{ 20 + 2 });
vs.
static assert(Format!(" %s %s 2 ",a*2,op)) == q{ 20 + 2 });
vs.
static assert(text(" ",a*2," ",op," 2 ") == q{ 20 + 2 };

So maybe some variant of format would be appropriate: MixinFormat, mFormat, mText, FormatInPlace, etc, though these all seem clunky. MixinFormat would make a lot of sense if you could declare a template that's always a mixin, and could simply write MixinFormat!q{ ${a*2} ${op} 2 } instead of mixin(MixinFormat!q{ ${a*2} ${op} 2 }). As this syntax comes from perl, we could use that as a prefix: perlFormat / pFormat / perlText / pText.

Also, am I missing something with regard to the use cases of expand/inter? All the examples given in the documentation seem to be better served by either text or Format.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to