<div dir="ltr">On Sun, Jul 24, 2016 at 7:09 PM, Dave Abrahams <span dir="ltr">&lt;<a href="mailto:dabrahams@apple.com" target="_blank">dabrahams@apple.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
on Sun Jul 24 2016, Saagar Jha &lt;saagarjha28-AT-gmail.com&gt; wrote:<br>
<br>
&gt; Ahh…I agree in that case; something like `utf8Array` might be a better<br>
&gt; choice.<br>
<br>
</span>  Array(s.utf8)<br>
<br>
seems expressive enough to me, if what you really want is an array.  IMO<br>
we should consider dropping other spellings.<br></blockquote><div><br></div><div>One reason why `nullTerminatedUTF8` is a pretty good name, IMO: Array(s.utf8) is exactly one element short of Array(s.nullTeminatedUTF8), that being the null terminator. Incidentally, Array(s.utf8) is actually a little problematic, afaict, as its inferred type is Array&lt;_Element&gt;, whatever that is. Array&lt;UTF8.CodeUnit&gt;(s.utf8) works though.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
&gt; Saagar Jha<br>
&gt;<br>
&gt;&gt; On Jul 24, 2016, at 16:44, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com">xiaodi.wu@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
</span><span class="">&gt;&gt; On Sun, Jul 24, 2016 at 6:42 PM, Saagar Jha &lt;<a href="mailto:saagarjha28@gmail.com">saagarjha28@gmail.com</a> &lt;mailto:<a href="mailto:saagarjha28@gmail.com">saagarjha28@gmail.com</a>&gt;&gt; wrote:<br>
&gt;&gt; Well, yes, but hardly anyone calls it a “char array” unless they’re<br>
&gt;&gt; trying to emphasize the fact that it’s not being used as a String.<br>
&gt;&gt;<br>
&gt;&gt; I was woefully unclear with that last email. IMO, `utf8CString` is<br>
&gt;&gt; fine, since a CString really is a null-terminated array of<br>
&gt;&gt; CChars. But `utf8String` implies that the property is a String,<br>
&gt;&gt; which `nulTerminatedUTF8` is not (it&#39;s a<br>
&gt;&gt; `ContiguousArray&lt;UTF8.CodeUnit&gt;`).<br>
&gt;&gt;<br>
&gt;&gt; Saagar Jha<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; On Jul 24, 2016, at 15:58, Xiaodi Wu via swift-evolution<br>
</span>&gt;&gt;&gt; &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a> &lt;mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;&gt;<br>
<span class="">&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Sun, Jul 24, 2016 at 5:34 PM, Erica Sadun via swift-evolution<br>
</span>&gt;&gt;&gt; &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a> &lt;mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;&gt;<br>
<span class="">&gt;&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &gt; On Jul 24, 2016, at 3:45 PM, Dave Abrahams via swift-evolution<br>
</span>&gt;&gt;&gt; &gt; &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a> &lt;mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;&gt;<br>
<span class="">&gt;&gt;&gt; &gt; wrote:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Xiaodi Wu via swift-evolution &lt;swift-evolution@...&gt; writes:<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;&gt; In `String`, the methods `nulTerminatedUTF8` and<br>
&gt;&gt;&gt; &gt;&gt; nulTerminatedUTF8CString` have the word &quot;null&quot; misspelled<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Whoa. Isn&#39;t &quot;Cstring&quot; redundant with &quot;null-terminated?&quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; One would hope so. A series of characters terminated by a zero byte.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;   /// A contiguously stored null-terminated UTF-8 representation of<br>
&gt;&gt;&gt;   /// the string.<br>
&gt;&gt;&gt;   ///<br>
&gt;&gt;&gt;   /// This is a variation on nulTerminatedUTF8 that creates an array<br>
&gt;&gt;&gt;   /// of element type CChar for use with CString API&#39;s.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I think utf8String and utf8CString capture both meanings. I know they&#39;re<br>
&gt;&gt;&gt; a little redundant but they get the meaning across, use CString term of<br>
&gt;&gt;&gt; art, and are pithy compared to any alternatives (like &quot;representation&quot;, etc)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; They&#39;re arrays though, not strings.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; -- E<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; swift-evolution mailing list<br>
</span>&gt;&gt;&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a> &lt;mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;<br>
&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a> &lt;<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; swift-evolution mailing list<br>
&gt;&gt;&gt; <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a> &lt;mailto:<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt;<br>
&gt;&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a> &lt;<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a>&gt;<br>
&gt;&gt;<br>
</blockquote></div><br></div></div>