<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=""><blockquote type="cite" class="">On Apr 6, 2017, at 1:35 PM, Joe Groff via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md</a><<a href="https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md" class="">https://github.com/apple/swift-evolution/blob/master/proposals/0168-multi-line-string-literals.md</a>><br class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>• What is your evaluation of the proposal?<br class=""></blockquote><div class=""><br class=""></div>-1 because I don’t think this proposal is fully baked. We definitely need this feature, but we need more discussion on the details.<div class=""><br class=""><blockquote type="cite" class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>• Is the problem being addressed significant enough to warrant a change to Swift?<br class=""></blockquote><br class="">Yes. There are many practical and pragmatic reasons to want to embed multi-line string literals in code, and most of these use-cases are hampered or made more significantly more fiddly with continuation characters or concatenation, for all the reasons already discussed.<br class=""><br class=""><blockquote type="cite" class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>• Does this proposal fit well with the feel and direction of Swift?<br class=""></blockquote><br class="">This is where things break down. This proposal feels like we took Python’s approach and slapped it on Swift. There are more ways to do this than identical open-close delimiters with magic whitespace stripping. </div><div class=""><br class=""></div><div class="">Non-exhasutive ideas for other options we should weigh (all spellings are straw-men):</div><div class=""><br class=""></div><div class="">1. Open/close delimiters: </div><div class=""><div class=""><font face="Menlo" class=""> let msg = @“ // </font><span style="font-family: Menlo;" class="">optionally:</span><font face="Menlo" class=""> @4” to strip 4 chars leading whitespace</font></div><div class=""><font face="Menlo" class=""> this is a</font></div><div class=""><font face="Menlo" class=""> message</font></div><div class=""><font face="Menlo" class=""> "@</font></div></div><div class=""><br class=""></div><div class="">2. A “Swifty” Heredoc compiler directive:</div><div class=""><div class=""><div class=""><font face="Menlo" class=""> let msg = #stringUntil(END) // optionally: #stringUntil(END, stripLeading: 4)</font></div><div class=""><font face="Menlo" class=""> this is a</font></div><div class=""><font face="Menlo" class=""> message</font></div><div class=""><font face="Menlo" class=""> END</font></div></div></div><div class=""><br class=""></div><div class="">3. Other options as mentioned on this list</div><div class=""><br class=""><blockquote type="cite" class=""><span class="Apple-tab-span" style="white-space: pre;">        </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=""></blockquote><br class="">This is pretty much the Python approach with some additional vague whitespace-stripping rules. We need to think it through better and then re-introduce after proper discussion.</div><div class=""><br class=""><blockquote type="cite" class=""><span class="Apple-tab-span" style="white-space: pre;">        </span>• How much effort did you put into your review? A glance, a quick reading, or an in-depth study?<br class=""></blockquote><br class="">Read the proposal, followed the discussion.<br class=""><br class=""><blockquote type="cite" class=""><br class="">More information about the Swift evolution process is available at:<br class=""><br class=""><a href="https://github.com/apple/swift-evolution/blob/master/process.md" class="">https://github.com/apple/swift-evolution/blob/master/process.md</a> <<a href="https://github.com/apple/swift-evolution/blob/master/process.md" class="">https://github.com/apple/swift-evolution/blob/master/process.md</a>><br class=""><br class="">Thank you,<br class=""><br class="">-Joe<br class="">Review Manager<br class="">_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class=""></blockquote><div class=""><br class=""></div></div></body></html>