<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><span></span></div><div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div></div><div><br></div><blockquote type="cite"><div><div class=""><div class=""><div style="margin: 0px; line-height: normal; min-height: 13px;" class=""><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);" class=""> </span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(61, 29, 129);" class="">assert</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);" class="">( xml != ei""</span><span style="font-variant-ligatures: no-common-ligatures;" class="">"<?xml version="1.0"?></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <catalog></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <book id="bk101" empty=""></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <author>\(author)</author></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <title>XML Developer's Guide</title></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <genre>Computer</genre></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <price>44.95</price></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <publish_date>2000-10-01</publish_date></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> <description>An in-depth look at creating applications with XML.</description></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> </book></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> </catalog></span></div><div style="margin: 0px; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);" class=""><span style="font-variant-ligatures: no-common-ligatures;" class=""> "</span><span style="font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0);" class="">"" )</span></div></div></div></div></div></blockquote><br><div>The idea of auto-stripping whitespaces seemed nice initially, until I realized it's not at all clear where the stripped whitespaces end and the included whitespaces begin. It's already problematic for you own code (because even knowing your own intent doesn't completely overcome the lack of perspective this syntax offers), but imagine if it's someone else's. Will you be able to figure out what spacing is meant to be a part of the string and which is not? Quickly? Easily? Maybe, maybe not. It still won't be readily apparent, because there's no point of reference. You're potentially reduced to counting whitespaces to figure it out. Brent's proposal elegantly fixes this problem. You have a clear point of reference, there's no issue of spaces vs tabs, no trying to figure out exactly where the "true" whitespaces are beginning. Like was mentioned, it would probably have to be relative to the leading whitespaces on the closing delimiter line, but then there's no way to tell visually if those are spaces or tabs, or how many there are, AND you have to sort of mentally trace an invisible line upwards to "see" how the lines above relate. This would drive me crazy. With leading quotes, it's obvious which lines don't have included leading whitespaces, and the ones that do have a smaller relative distance to what is the "left alignment margin" (so to speak) indicated by the quotes.</div><div><br></div><div>This feels like we would be making it easier to make mistakes and harder to determine actual spacing just to eliminate some extra quotes. I think the proposal is the best balance of simplicity and practicality we're going to achieve for *short* multi line strings, which is what this proposal is tying to address. We can still introduce the """ or heredoc syntaxes for longer blocks of text in the future.</div></div></div></div><div><br></div><div>Cole</div></div></body></html>