<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Thu, Apr 6, 2017 at 12:35 PM Joe Groff via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg">Hello Swift community,<br class="gmail_msg"><br class="gmail_msg">The review of SE-0168 &quot;Multi-Line String Literals&quot; begins now and runs through April 12, 2017. The proposal is available here:<br class="gmail_msg"><br class="gmail_msg"><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md" class="gmail_msg" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md</a></blockquote><div class="gmail_msg"><br class="gmail_msg">Reviews are an important part of the Swift evolution process. All reviews should be sent to the swift-evolution mailing list at:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a></div><div class="gmail_msg"><br class="gmail_msg"></div></blockquote><div class="gmail_msg">or, if you would like to keep your feedback private, directly to the review manager. When replying, please try to keep the proposal link at the top of the message:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg">Proposal link:</div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md" class="gmail_msg" target="_blank">https://github.com/apple/swift-evolution/blob/master/proposals/0167-swift-encoders.md</a></div></blockquote></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg">Reply text</div></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg">Other replies</div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><b class="gmail_msg">What goes into a review?</b><br class="gmail_msg"><br class="gmail_msg">The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:<br class="gmail_msg"><br class="gmail_msg"><div class="gmail_msg"><span class="m_5262404792494791902Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• What is your evaluation of the proposal?<br class="gmail_msg"></div></div></div></blockquote><div><br></div><div>+0.75. I think the language needs a good facility to support multi-line string literals in code, and the Python triple-quote syntax is the cleanest of all the ones I&#39;ve used among various languages.</div><div><br></div><div>I would like to see some more detail/clarification in the proposal before I could give it a full +1 though:</div><div><br></div><div>1. The proposal shows that double quotes don&#39;t need to be escaped in these literals; similarly, string interpolation is supported with the usual \(...) syntax. How is escaping of other characters handled within these strings? Is it affected or not? If I include \n in my multi-line string, does that insert a newline at that location, or is it the literal &quot;\n&quot;? (I expect the former, but I&#39;d like to see it spelled out.)</div><div><br></div><div>2. If I want to be terrible and include the literal &quot;&quot;&quot; in the content of my string, how would I escape that? Is \&quot;\&quot;\&quot; sufficient/the only way/the right way? Does it make a difference if it&#39;s leading the line (with the exception of whitespace) or in the middle of a line?</div><div><br></div><div>3. Deciding how much leading whitespace to strip based on the indentation of the *closing* quotes seems a bit strange/magical to me, but I honestly can&#39;t think of a cleaner way to do it. This at least makes the amount of leading space something that I can explicitly control (and IDEs like Xcode could color in the margin accordingly to make it clear how much of the leading space is actually part of the string).</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><span class="m_5262404792494791902Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• Is the problem being addressed significant enough to warrant a change to Swift?<br class="gmail_msg"></div></div></div></blockquote><div><br></div><div>Yes. While Apple platforms can just load large strings from bundled resources, that doesn&#39;t support string interpolation, and non-Apple platforms can also benefit from this feature.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><span class="m_5262404792494791902Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• Does this proposal fit well with the feel and direction of Swift?<br class="gmail_msg"></div></div></div></blockquote><div><br></div><div>Yes.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><span class="m_5262404792494791902Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?<br class="gmail_msg"></div></div></div></blockquote><div><br></div><div>It lines up most closely with Python&#39;s multi-line strings, which I prefer to shell-style heredocs with arbitrary begin-end tokens.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><span class="m_5262404792494791902Apple-tab-span gmail_msg" style="white-space:pre-wrap">        </span>• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br class="gmail_msg"></div></div></div></blockquote><div><br></div><div>Read the proposal.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div>More information about the Swift evolution process is available at:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px" class="gmail_msg"><div class="gmail_msg"><a href="https://github.com/apple/swift-evolution/blob/master/process.md" class="gmail_msg" target="_blank">https://github.com/apple/swift-evolution/blob/master/process.md</a></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Thank you,</div><div class="gmail_msg"><br class="gmail_msg">-Joe<br class="gmail_msg">Review Manager<br class="gmail_msg"></div></div>_______________________________________________<br class="gmail_msg">
swift-evolution mailing list<br class="gmail_msg">
<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
</blockquote></div></div>