<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 6 Apr 2017, at 21:47, David Hart <<a href="mailto:david@hartbit.com" class="">david@hartbit.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><blockquote type="cite" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><br class="Apple-interchange-newline">On 6 Apr 2017, at 22:34, Haravikk via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br class=""><div class=""><blockquote type="cite" class=""><div class="">On 6 Apr 2017, at 20:35, Joe Groff via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><br class=""><div class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>• What is your evaluation of the proposal?<br class=""></div></div></div></div></blockquote><div class=""><br class=""></div><div class="">I'm a -1 for several reasons, mostly subjective but still. First thing is that I'm generally not comfortable with encouraging the use of multi-line strings at all. These are things that usually should be templated or localised, and personally I don't see what's inconvenient about concatenating on those occasions where you can't (or just don't want to); I'm actually of the opinion that this is the kind of thing that<span class="Apple-converted-space"> </span><b class="">should</b> be awkward and annoying, to encourage developers to think about what they're doing.</div></div></div></div></blockquote><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">IMHO, there are plenty of uses for multi-line strings that are entire valid and acceptable. SQL queries is the example I encounter the most in my day-to-day work. And concatenating makes working with them very cumbersome.</div></div></blockquote><br class=""></div><div>Maybe, but with SQL I long moved on to using placeholders for variables, which makes most statements fairly compact. And in fact these days I almost entirely use stored procedures, so most SQL statements I work with are just enough to call a procedure.</div><div><br class=""></div><div>Even so, while that may be an argument for the need for multi-line strings it's a use case that would still be better handled by continuation quotes IMO, but again, they don't offer so much added convenience over concatenation to really be worth it.</div><div><br class=""></div><div><br class=""></div><div>Also, just wanted to add, but those arguing against continuation quotes on the basis of pasting into Swift; you already <b class="">can</b> paste into Swift using regular double quotes, you just don't get to indent text and have the indentation magically handled for you. It's the magic handling of indentation that makes me most uncomfortable about the main proposal. This is why I mentioned the idea of using a compiler directive which would be more explicit in what's going on, as well as being more discoverable as it would provide something easy to search for. Like so:</div><div><br class=""></div><div><font face="Monaco" class="">let foo = #trimleft("</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>foo</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">                </span>bar</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>baz</font></div><div><font face="Monaco" class="">")</font></div><div><br class=""></div><div>Becoming (behind the scenes):</div><div><br class=""></div><div><font face="Monaco" class="">let foo = "foo</font></div><div><font face="Monaco" class=""><span class="Apple-tab-span" style="white-space:pre">        </span>bar</font></div><div><font face="Monaco" class="">baz"</font></div><div><br class=""></div><div>It has the same benefits as heredocs but without any new syntax, and someone new to the language can just search for "Swift #trimleft" (or whatever it'd be called) to find out what it does exactly.</div></body></html>