<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=""><div class="">As I understand things, the point of the whole “Syntax.Literal.ICan’tRememberWhatIt’sCalledToday” discussion was that syntactically speaking, literals kinda work the opposite as how everyone thinks they do. That’s not the case here; CustomStringConvertible clearly only requires `var description: String {get}`. But the String interpolation “operator", “\()” might be a good candidate for moving into “Syntax”, if we ever decide it should be able to interact with types other than `T` and `T: CustomStringConvertible`. Well, IMHO, it probably should get moved there regardless, but “my humble opinion" does not make for a convincing proposal on its own (which is unfortunate, IMHO :-D ).</div><div class=""><br class=""></div><div class="">- Dave Sweeris</div><div class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 1, 2016, at 2:47 PM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" class="">xiaodi.wu@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class="">How do you mean?<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Fri, Jul 1, 2016 at 14:44 David Sweeris &lt;<a href="mailto:davesweeris@mac.com" class="">davesweeris@mac.com</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class=""><div class=""></div><div class="">Maybe... It's just a property, though. I <i class="">think</i>&nbsp;if something's moving into the Syntax thing, I'd rather look for a way to move string interpolation there. Maybe.</div><div class=""><br class=""></div><div class="">- Dave Sweeris</div></div><div dir="auto" class=""><div class=""><br class="">On Jul 1, 2016, at 14:24, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class="">Perhaps another candidate for sinking into `Syntax`?<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Fri, Jul 1, 2016 at 14:23 Dmitri Gribenko via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Jul 1, 2016 at 12:16 PM, Eric Habberstad via swift-evolution<br class="">
&lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:<br class="">
&gt;<br class="">
&gt; To the Swift community,<br class="">
&gt;<br class="">
&gt; May I put forth a couple of new names for the following protocol:<br class="">
&gt;<br class="">
&gt;<br class="">
&gt; - CustomStringConvertible&nbsp; —&nbsp; &nbsp;rename as ‘Descriptive’ or as ‘Revealable’<br class="">
&gt;<br class="">
&gt;<br class="">
&gt; Two goals for Swift is clarity and joy in use of the language, so I strongly<br class="">
&gt; feel that ‘Custom-‘ not be part of any new name here since it contributes<br class="">
&gt; little except verbosity<br class="">
<br class="">
Hi Eric,<br class="">
<br class="">
This protocol was called Printable before, but it caused a lot of<br class="">
confusion for developers, and was guiding the developers toward<br class="">
writing incorrect APIs.&nbsp; We have seen a lot of developers writing code<br class="">
like this:<br class="">
<br class="">
func printAll(_ values: [Printable]) {<br class="">
&nbsp; for v in values { print(v) }<br class="">
}<br class="">
<br class="">
This code is unnecessarily restrictive since in Swift everything can<br class="">
be converted into a String.<br class="">
<br class="">
func printAll(_ values: [Any]) {<br class="">
&nbsp; for v in values { print(v) }<br class="">
}<br class="">
<br class="">
The same goes for retrieving debug descriptions and mirrors.&nbsp; Any<br class="">
value can do that.&nbsp; It is just that some values can opt into<br class="">
customizing this behavior.<br class="">
<br class="">
Thus, we renamed the protocols, adding the Custom~ prefix.&nbsp; Our<br class="">
intention was to encourage only conformances to these protocols, and<br class="">
discourage writing APIs against them.<br class="">
<br class="">
Dmitri<br class="">
<br class="">
--<br class="">
main(i,j){for(i=2;;i++){for(j=2;j&lt;i;j++){if(!(i%j)){j=0;break;}}if<br class="">
(j){printf("%d\n",i);}}} /*Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com" target="_blank" class="">gribozavr@gmail.com</a>&gt;*/<br class="">
_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
</blockquote></div>
</div></blockquote><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">swift-evolution mailing list</span><br class=""><span class=""><a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a></span><br class=""><span class=""><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br class=""></div></blockquote></div></blockquote></div>
</div></blockquote></div><br class=""></div></div></body></html>