<div dir="ltr"><div dir="ltr">On Mon, Mar 11, 2024 at 9:37 AM Remi Forax <<a href="mailto:forax@univ-mlv.fr" target="_blank">forax@univ-mlv.fr</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">I vote for making string templates explicit.<br></div></div></blockquote><div><br></div><div>Caveat: I've been following this discussion only loosely so I'm likely to say something stupid/ignorant/redundant; if so please ignore.<br></div><div><br></div><div>But I am tending to agree with Remi. The recent simplifications Brian described are a definite improvement, but now we're left with a new question:<br></div></div><div class="gmail_quote"><br></div><div class="gmail_quote">What is the advantage of having the language literals for String and StringTemplate look so confusingly similar?<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Reversing that question, I'm not seeing the big downside of having a simple prefix for literals like this:<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">    var s = "this is a string";<br></div><div class="gmail_quote">    var st1 = $"this is a (degenerate) template";</div><div class="gmail_quote">    var st2 = $"this is also a \{template}";</div><div class="gmail_quote">    var x = "this is a \{lexical_error}";<br></div>    myobj.someOverloadedMethod($"this is definitely a template");<div><div>    myobj.someOverloadedMethod("this is definitely a string!");     // no need to consult javadoc here<br><div><br></div></div></div><div>Seems like the trade-off is straightforward:</div><div><br></div><div class="gmail_quote">Cost: one character<br></div><div class="gmail_quote">Benefit: instant disambiguation clarity in the developer's mind<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">At least, it makes the whole API design/overload question straightforward.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Put another way, StringTemplates are a cool new language feature, and as such it seems like they deserve a "first-class" allotment in the syntax of the language.<br></div><div class="gmail_quote"><br></div><div class="gmail_quote">-Archie</div><div class="gmail_quote"><br></div></div>