I also would oppose comments inside multi-line strings because one place I imagine using it is in Swift code generation and I also want to generate comments, and it seems pointless to have to escape those.<br><br>Let&#39;s not over-engineer this and end up with feature creep. A simple multi-line string that takes its contents more or less verbatim (with the exception of necessary escapes, interpolation, and dedenting) is fine.<br><div class="gmail_quote"><div dir="ltr">On Wed, Apr 12, 2017 at 5:50 AM Xiaodi Wu 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">Right, I think it might be too much.<br class="gmail_msg"><br class="gmail_msg">Consider that the multi-line literal could be code with comments in it, but that you could also escape and embed an actual multi-line comment with \ /* */ that isn&#39;t part of the multi-line literal code with multi-line comments! How confusing!<br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Wed, Apr 12, 2017 at 07:36 Ricardo Parada via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class="gmail_msg"><div class="gmail_msg">I don&#39;t think I would use that. I don&#39;t find the aesthetics pleasant. <br class="gmail_msg">I would rather comment above the string literal. </div><div id="m_-5053092981287344633m_-5298301120532425476AppleMailSignature" class="gmail_msg"><br class="gmail_msg"></div><div id="m_-5053092981287344633m_-5298301120532425476AppleMailSignature" class="gmail_msg">Would the escape character cause the newline for the line to be ignored thereby continuing the string on the next line?</div></div><div dir="auto" class="gmail_msg"><div id="m_-5053092981287344633m_-5298301120532425476AppleMailSignature" class="gmail_msg"><br class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg">On Apr 12, 2017, at 6:59 AM, Adrian Zubarev via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br class="gmail_msg"><br class="gmail_msg"></div><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><div class="m_-5053092981287344633m_-5298301120532425476bloop_markdown gmail_msg"><p class="gmail_msg">One last pitch, can we allow comments in multi-line strings if the string is broken up by a backslash?</p>

<pre class="gmail_msg"><code class="m_-5053092981287344633m_-5298301120532425476swift gmail_msg">
let myString = &quot;&quot;&quot;
    text text  
    text text text \ // Comment allowed in the current line here, but not in the line above it
    text text text \ /* this type of comment is fine too */
    text text\// notice whitespace can be ignored
    &quot;&quot;&quot;
</code></pre>

<p class="gmail_msg">You might have some interpolation and want to comment around it.</p>

<pre class="gmail_msg"><code class="m_-5053092981287344633m_-5298301120532425476swift gmail_msg">let foo = &quot;&quot;&quot;
    bar bar bar
    bar \(x) bar\ // `x` does some magic
    &quot;&quot;&quot;
</code></pre>

<p class="gmail_msg"></p></div><div class="m_-5053092981287344633m_-5298301120532425476bloop_original_html gmail_msg"><div id="m_-5053092981287344633m_-5298301120532425476bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto" class="gmail_msg"><br class="gmail_msg"></div> <br class="gmail_msg"> <div id="m_-5053092981287344633m_-5298301120532425476bloop_sign_1491994413280799744" class="m_-5053092981287344633m_-5298301120532425476bloop_sign gmail_msg"><div style="font-family:helvetica,arial;font-size:13px" class="gmail_msg">-- <br class="gmail_msg">Adrian Zubarev<br class="gmail_msg">Sent with Airmail</div></div> <br class="gmail_msg"><p class="m_-5053092981287344633m_-5298301120532425476airmail_on gmail_msg">Am 12. April 2017 um 12:48:57, Adrian Zubarev (<a href="mailto:adrian.zubarev@devandartist.com" class="gmail_msg" target="_blank">adrian.zubarev@devandartist.com</a>) schrieb:</p> <blockquote type="cite" class="m_-5053092981287344633m_-5298301120532425476clean_bq gmail_msg"><span class="gmail_msg"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"></div><div class="gmail_msg">








<div class="m_-5053092981287344633m_-5298301120532425476bloop_markdown gmail_msg">
<p class="gmail_msg">Actually I’m fine with such a compromise. Such a model has
everything we’ve asked for, it’s easy, it has both leading and
trailing precision and implicit new lines where needed.</p>
</div>
<div class="m_-5053092981287344633m_-5298301120532425476bloop_original_html gmail_msg">

<div id="m_-5053092981287344633m_-5298301120532425476bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto" class="gmail_msg">
<br class="gmail_msg"></div>
<br class="gmail_msg">
<div id="m_-5053092981287344633m_-5298301120532425476bloop_sign_1491994049751838976" class="m_-5053092981287344633m_-5298301120532425476bloop_sign gmail_msg">
<div style="font-family:helvetica,arial;font-size:13px" class="gmail_msg">
-- <br class="gmail_msg">
Adrian Zubarev<br class="gmail_msg">
Sent with Airmail</div>
</div>
<br class="gmail_msg">
<p class="m_-5053092981287344633m_-5298301120532425476airmail_on gmail_msg">Am 12. April 2017 um 12:42:17, Vladimir.S via
swift-evolution (<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>)
schrieb:</p>
<blockquote type="cite" class="m_-5053092981287344633m_-5298301120532425476clean_bq gmail_msg">
<div class="gmail_msg">
<div class="gmail_msg"><span class="gmail_msg">On 12.04.2017 13:16, Thorsten Seitz via swift-evolution
wrote:<br class="gmail_msg">
&gt;&gt; Am 12.04.2017 um 10:11 schrieb Adrian Zubarev via
swift-evolution<br class="gmail_msg">
&gt;&gt; &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>
&lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">mailto:swift-evolution@swift.org</a>&gt;&gt;:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Great explanation thank you Brent. I’m convinced about the
closing delimiter now. =)<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;
-------------------------------------------------------------------------------------<br class="gmail_msg">

&gt;&gt;<br class="gmail_msg">
&gt;&gt; If I understood correctly what Xiaodi Wu meant in his
reply, then we could simplify<br class="gmail_msg">
&gt;&gt; the whole multi-line string literal and also remove the
need of disabling the<br class="gmail_msg">
&gt;&gt; stripping algorithm.<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; We should ban these examples completely:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;Hello·world!&quot;&quot;&quot;|<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; Being able to use &quot;&quot;“ for single line strings containing lots
of &quot; is useful in<br class="gmail_msg">
&gt; itself and explained in the motivational section of the
proposal:<br class="gmail_msg">
&gt; &quot;Tripled string literals can also do double duty as a syntax
for handling short<br class="gmail_msg">
&gt; string literals with many internal quotation marks“<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; -Thorsten<br class="gmail_msg">
<br class="gmail_msg">
Yes, I also think the single line string can be very useful and we
should not<br class="gmail_msg">
disallow it.<br class="gmail_msg">
<br class="gmail_msg">
But I agree that we should disallow multi-line cases when we have
text on the same<br class="gmail_msg">
line with leading or trailing &quot;&quot;&quot; because this complicates the
mental modal and adds<br class="gmail_msg">
confusion points.<br class="gmail_msg">
<br class="gmail_msg">
I.e. I suggest to allow only two forms:<br class="gmail_msg">
1. Single line: &quot;&quot;&quot;this is &quot;just&quot; text&quot;&quot;&quot; (no line end will be
inserted)<br class="gmail_msg">
2. Multiline, where leading and trailing &quot;&quot;&quot; has no text
after/before them and *all*<br class="gmail_msg">
the text is in lines *between* triple quotes:<br class="gmail_msg">
&quot;&quot;&quot;<br class="gmail_msg">
first line<br class="gmail_msg">
second line<br class="gmail_msg">
&quot;&quot;&quot;<br class="gmail_msg">
<br class="gmail_msg">
One can use backslash at the line end to emulate all other needed
cases. Like:<br class="gmail_msg">
<br class="gmail_msg">
&quot;&quot;&quot;<br class="gmail_msg">
first line \<br class="gmail_msg">
second line\<br class="gmail_msg">
&quot;&quot;&quot;<br class="gmail_msg">
<br class="gmail_msg">
will produce &quot;first line second line&quot;<br class="gmail_msg">
<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;Hello↵ world!&quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;Hello↵ world!↵ &quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;↵ Hello↵ world!&quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Instead an empty multi-line string literal would look like
this:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;↵ &quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; To fix the above example you’d need to write it like
this:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;↵ Hello·world!\↵ &quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt; |&quot;&quot;&quot;↵ Hello↵ world!\↵ &quot;&quot;&quot; |<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; * Each line in between the delimiters would add implicit
new lines if not<br class="gmail_msg">
&gt;&gt; disabled by a backslash.<br class="gmail_msg">
&gt;&gt; * The trailing precision is also handled by the
backslash.<br class="gmail_msg">
&gt;&gt; * The indent is handled by the closing delimiter.<br class="gmail_msg">
&gt;&gt; * It’s easier to learn/teach.<br class="gmail_msg">
&gt;&gt; * It’s easier to read, because most of the time the line
where the starting<br class="gmail_msg">
&gt;&gt; delimiter is, is filled with some other code.<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; |let myString = &quot;&quot;&quot;↵ ⇥ ⇥ Hello↵ ⇥ ⇥ world!\↵ ⇥ ⇥ &quot;&quot;&quot;
|<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Now that would be a true multi-line string literal which
needs at least two lines<br class="gmail_msg">
&gt;&gt; of code. If you’d need a single line literal,|&quot;&quot;|is the
obvious pick.<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; --<br class="gmail_msg">
&gt;&gt; Adrian Zubarev<br class="gmail_msg">
&gt;&gt; Sent with Airmail<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; Am 12. April 2017 um 02:32:33, Brent Royal-Gordon
(<a href="mailto:brent@architechies.com" class="gmail_msg" target="_blank">brent@architechies.com</a><br class="gmail_msg">
&gt;&gt; &lt;<a href="mailto:brent@architechies.com" class="gmail_msg" target="_blank">mailto:brent@architechies.com</a>&gt;) schrieb:<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; On Apr 11, 2017, at 8:08 AM, Adrian Zubarev via
swift-evolution<br class="gmail_msg">
&gt;&gt;&gt;&gt; &lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>
&lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">mailto:swift-evolution@swift.org</a>&gt;&gt; wrote:<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; That’s also the example that kept me thinking for
a while.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt;
-------------------------------------------------------------------------------------<br class="gmail_msg">

&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; Overall the proposal is a great compromise to some
issues I had with the first<br class="gmail_msg">
&gt;&gt;&gt;&gt; version. However I have a few more
questions:<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; * Why can’t we make it consistent and let the
compiler add a new line after the<br class="gmail_msg">
&gt;&gt;&gt;&gt; starting delimiter.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; |
let string = &quot;&quot;&quot;↵ Swift↵ &quot;&quot;&quot; // result ↵Swift↵
|<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; If one would would the behavior from the proposal
it’s really easy to add a<br class="gmail_msg">
&gt;&gt;&gt;&gt; backslash after the starting delimiter.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; |
let string = &quot;&quot;&quot;\↵ Swift\↵ &quot;&quot;&quot; // result Swift
|<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; This would be consistent and less confusing to
learn.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; That would mean that code like this:<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; print(&quot;&quot;&quot;<br class="gmail_msg">
&gt;&gt;&gt; A whole bunch of<br class="gmail_msg">
&gt;&gt;&gt; multiline text<br class="gmail_msg">
&gt;&gt;&gt; &quot;&quot;&quot;)<br class="gmail_msg">
&gt;&gt;&gt; print(&quot;&quot;&quot;<br class="gmail_msg">
&gt;&gt;&gt; A whole bunch more<br class="gmail_msg">
&gt;&gt;&gt; multiline text<br class="gmail_msg">
&gt;&gt;&gt; &quot;&quot;&quot;)<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; Will print (with - to indicate blank lines):<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; -<br class="gmail_msg">
&gt;&gt;&gt; A whole bunch of<br class="gmail_msg">
&gt;&gt;&gt; multiline text<br class="gmail_msg">
&gt;&gt;&gt; -<br class="gmail_msg">
&gt;&gt;&gt; -<br class="gmail_msg">
&gt;&gt;&gt; A whole bunch more<br class="gmail_msg">
&gt;&gt;&gt; multiline text<br class="gmail_msg">
&gt;&gt;&gt; -<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; This is, to a first approximation, never what you
actually want the computer to do.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; * Can’t we make the indent algorithm work like
this instead?<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; |let string = &quot;&quot;&quot;\↵ ····&lt;tag&gt;↵ ······content
text↵ ····&lt;/tag&gt;&quot;&quot;&quot; // Indent starts<br class="gmail_msg">
&gt;&gt;&gt;&gt; with the first non space character // result
&lt;tag&gt;↵ ··content text↵ &lt;/tag&gt; |<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; The line where the closing delimiter is trims all
space chapters and the indent<br class="gmail_msg">
&gt;&gt;&gt;&gt; for the whole multi-line string is starting at the
point where the first<br class="gmail_msg">
&gt;&gt;&gt;&gt; non-space chapters is in that line.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; We could; I discuss that briefly in the very last
section, on alternatives to the<br class="gmail_msg">
&gt;&gt;&gt; indentation stripping we specify:<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; • Stripping indentation to match the depth of the
least indented line: Instead of<br class="gmail_msg">
&gt;&gt;&gt; removing indentation to match the end delimiter, you
remove indentation to match<br class="gmail_msg">
&gt;&gt;&gt; the least indented line of the string itself. The
issue here is that, if all lines<br class="gmail_msg">
&gt;&gt;&gt; in a string should be indented, you can&#39;t use
indentation stripping. Ruby 2.3 does<br class="gmail_msg">
&gt;&gt;&gt; this with its heredocs, and Python&#39;s dedent function
also implements this behavior.<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; That doesn&#39;t quite capture the entire breadth of the
problem with this algorithm,<br class="gmail_msg">
&gt;&gt;&gt; though. What you&#39;d like to do is say, &quot;all of these
lines are indented four<br class="gmail_msg">
&gt;&gt;&gt; columns, so we should remove four columns of
indentation from each line&quot;. But you<br class="gmail_msg">
&gt;&gt;&gt; don&#39;t have columns; you have tabs and spaces, and
they&#39;re incomparable because the<br class="gmail_msg">
&gt;&gt;&gt; compiler can&#39;t know what tab stops you set. So we&#39;d
end up calculating a common<br class="gmail_msg">
&gt;&gt;&gt; prefix of whitespace for all lines and removing that.
But that means, when someone<br class="gmail_msg">
&gt;&gt;&gt; mixes tabs and spaces accidentally, you end up
stripping an amount of indentation<br class="gmail_msg">
&gt;&gt;&gt; that is unrelated to anything visible in your code. We
could perhaps emit a<br class="gmail_msg">
&gt;&gt;&gt; warning in some suspicious circumstances (like &quot;every
line has whitespace just<br class="gmail_msg">
&gt;&gt;&gt; past the end of indentation, but some use tabs and
others use spaces&quot;), but if we<br class="gmail_msg">
&gt;&gt;&gt; do, we can&#39;t know which one is supposed to be correct.
With the proposed design,<br class="gmail_msg">
&gt;&gt;&gt; we know what&#39;s correct—the last line—and any deviation
from it can be flagged *at<br class="gmail_msg">
&gt;&gt;&gt; the particular line which doesn&#39;t match our
expectation*.<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; Even without the tabs and spaces issue, consider the
case where you accidentally<br class="gmail_msg">
&gt;&gt;&gt; don&#39;t indent a line far enough. With your algorithm,
that&#39;s indistinguishable from<br class="gmail_msg">
&gt;&gt;&gt; wanting the other lines to be indented more than that
one, so we generate a result<br class="gmail_msg">
&gt;&gt;&gt; you don&#39;t want and we don&#39;t (can&#39;t!) emit a warning to
point out the mistake. With<br class="gmail_msg">
&gt;&gt;&gt; the proposed algorithm, we can notice there&#39;s an error
and point to the line at fault.<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; Having the closing delimiter always be on its own line
and using it to decide how<br class="gmail_msg">
&gt;&gt;&gt; much whitespace to strip is better because it gives
the compiler a firm baseline<br class="gmail_msg">
&gt;&gt;&gt; to work from. That means it can tell you what&#39;s wrong
and where, instead of doing<br class="gmail_msg">
&gt;&gt;&gt; the dumb computer thing and computing a result that&#39;s
technically correct but useless.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt;&gt; PS: If we’d get this feature in Swift, it would be
nice if Xcode and other IDEs<br class="gmail_msg">
&gt;&gt;&gt;&gt; which supports Swift could show space characters
that are inside a string literal<br class="gmail_msg">
&gt;&gt;&gt;&gt; (not other space character &lt;- which is already
supported), so it would be easier<br class="gmail_msg">
&gt;&gt;&gt;&gt; to tell what’s part of the string and what is
not.<br class="gmail_msg">
&gt;&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; That would be very nice indeed. The prototype&#39;s
tokenizer simply concatenates<br class="gmail_msg">
&gt;&gt;&gt; together and computes the string literal&#39;s contents
after whitespace stripping,<br class="gmail_msg">
&gt;&gt;&gt; but in principle, I think it could probably preserve
enough information to tell<br class="gmail_msg">
&gt;&gt;&gt; SourceKit where the indentation ends and the literal
content begins. (The<br class="gmail_msg">
&gt;&gt;&gt; prototype is John&#39;s department, though, not mine.)
Xcode would then have to do<br class="gmail_msg">
&gt;&gt;&gt; something with that information, though, and
swift-evolution can&#39;t make the Xcode<br class="gmail_msg">
&gt;&gt;&gt; team do so. But I&#39;d love to see a faint reddish
background behind tripled string<br class="gmail_msg">
&gt;&gt;&gt; literal content or a vertical line at the indentation
boundary.<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; In the meantime, this design *does* provide an
unambiguous indicator of how much<br class="gmail_msg">
&gt;&gt;&gt; whitespace will be trimmed: however much is to the
left of the closing delimiter.<br class="gmail_msg">
&gt;&gt;&gt; You just have to imagine the line extending upwards
from there. I think that&#39;s an<br class="gmail_msg">
&gt;&gt;&gt; important thing to have.<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;&gt; --<br class="gmail_msg">
&gt;&gt;&gt; Brent Royal-Gordon<br class="gmail_msg">
&gt;&gt;&gt; Architechies<br class="gmail_msg">
&gt;&gt;&gt;<br class="gmail_msg">
&gt;&gt;<br class="gmail_msg">
&gt;&gt; _______________________________________________<br class="gmail_msg">
&gt;&gt; swift-evolution mailing list<br class="gmail_msg">
&gt;&gt; <a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a>
&lt;<a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">mailto:swift-evolution@swift.org</a>&gt;<br class="gmail_msg">
&gt;&gt;
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt;<br class="gmail_msg">
&gt; _______________________________________________<br class="gmail_msg">
&gt; swift-evolution mailing list<br class="gmail_msg">
&gt; <a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a><br class="gmail_msg">
&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg">
&gt;<br class="gmail_msg">
_______________________________________________<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" class="gmail_msg" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="gmail_msg"></span></div>
</div>
</blockquote>
</div>
<div class="m_-5053092981287344633m_-5298301120532425476bloop_markdown gmail_msg"></div>


</div></div></span></blockquote></div><div class="m_-5053092981287344633m_-5298301120532425476bloop_markdown gmail_msg"><p class="gmail_msg"></p></div></div></blockquote><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><span class="gmail_msg">_______________________________________________</span><br class="gmail_msg"><span class="gmail_msg">swift-evolution mailing list</span><br class="gmail_msg"><span class="gmail_msg"><a href="mailto:swift-evolution@swift.org" class="gmail_msg" target="_blank">swift-evolution@swift.org</a></span><br class="gmail_msg"><span 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></span><br class="gmail_msg"></div></blockquote></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>
_______________________________________________<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>