DIP 1027--String Interpolation--Final Review Discussion Thread

Adam D. Ruppe destructionator at gmail.com
Thu Jan 30 13:34:52 UTC 2020

On Thursday, 30 January 2020 at 13:20:47 UTC, Sebastiaan Koppe 
> That is of course always the problem of catering to a large 
> group.

A struct is the best option for a large group since it can add 
methods to handle different scenarios.

Like I said in the last thread, it is fairly easy to make it work 
with a struct:

i"printf works too: %n2 %n\n".c.tupleof

Yes, you must call a method on it and explicitly do tupleof under 
current language rules. But it *is* possible and not even that 

And if you don't do that, the compiler will throw a helpful type 
error message that could even tell you what to do!

Then this is also possible several other things too. In my file, 
I also show that:

string s = i"..."; // just works, via `alias toString this;`
writeln(i"..."); // just works; writeln calls the toString method 

other_random_function(i"..."); // other_random_function can 
recognize the special type and do various library things to it 

See my poc here: http://arsdnet.net/inter.d just pretend the 
`mixin(interpolate!(` wasn't there, since under the new DIP the 
language would do that part instead of the library.

We CAN have it all.

More information about the Digitalmars-d mailing list