The state of string interpolation
Sjoerd Nijboer
dlang at sjoerdnijboer.com
Tue Dec 11 13:49:17 UTC 2018
On Monday, 10 December 2018 at 23:07:32 UTC, Paul Backus wrote:
> So maybe getting `interp` into Phobos is a better line of
> attack than trying to sell W&A on new syntax.
I might be thinking something really silly, but since adding such
a thing as string interpolation is pretty much (wanted) syntactic
sugar, isn't it just possible to lower it? And if the answer to
this is yes, why can't we have some much wanted syntactic library
solutions as language features lowered in a compiler pass?
We can just maintain a separate set of lowerable language
constructs into a combination of existing library functions
instead of the true lowering of for loops and while loops and
everything the like.
(we could lower a specific character before a string literal into
a literal![STRING]; )
Isn't that more acceptable? Keeping syntactic sugar lowering
separate from fundamental lowering? As far as I can see this
would "promote" addition of syntactic sugar as a language feature
because it can be maintained whitout a big impact on the language.
If certain syntactic sugar lowerings are deemed wanted, tested
and found stable but can benefit from a performance increase by
better compiler support using some other forms than just
lowering, they might eventually be altered whitout impact to the
user.
Also, these syntactic sugar language features might be
disabled/enabled by a compiler flag or dub setting.
All with all, I don't see how this couldn't realistically be
included into the language like a lot of syntactic sugar. I
understand the argument against it, but the potential benefits I
can see are just too big to ignore.
More information about the Digitalmars-d
mailing list