I thought your suggestion of IntegerLiteralExpressible (with or without Syntax) was nice too.<br><div class="gmail_quote"><div dir="ltr">On Fri, Jul 1, 2016 at 15:35 Dave Abrahams 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"><br>
on Fri Jul 01 2016, Erica Sadun &lt;erica-AT-ericasadun.com&gt; wrote:<br>
<br>
&gt; The best way to pass the Dave Test is to ask him directly, for example:<br>
&gt;<br>
&gt; Dave:<br>
&gt;<br>
&gt; Do you think the stdlib team would be okay with a naming scheme like<br>
&gt; Syntax.Literal.ArrayProtocol,  Syntax.Literal.IntegerProtocol, etc. We think<br>
&gt; this produces a clear description of the conformant role and one that is unlikely to be<br>
&gt; misinterpreted. It may read less fluently but it&#39;s also less subject<br>
&gt; to confusing users.<br>
<br>
No.  IMO Putting “Protocol” in the name just adds redundant type<br>
information that doesn&#39;t help readability.<br>
<br>
&gt; This naming scheme uses the Syntax namespacing, and creates a Literal<br>
&gt; subspace.  Each protocol is named as &quot;XXXXProtocol&quot;. This introduction<br>
&gt; a distinction between &quot;This is/can be used as an integer literal&quot; and<br>
&gt; &quot;Conforming to this protocol ensures that an instance of the type can<br>
&gt; be written as an integer literal&quot;.<br>
&gt;<br>
&gt; The problem with earlier approximations was that people saw<br>
&gt; &quot;Syntax.IntegerLiteralXXX&quot; and thought the typed could be substituted<br>
&gt; into expressions where an integer literal was used, and not that an<br>
&gt; integer literal could be be used to write an instance of the type.<br>
&gt;<br>
&gt; So what do (and your team) think of this idea?<br>
<br>
I think if `Syntax.IntegerLiteral` is actually unclear then the best<br>
cure is `ExpressibleAsIntegerLiteral` (no namespace needed).  None of<br>
the other suggestions I&#39;ve seen describe what the protocol means as well<br>
as that.  I&#39;ve asked Matthew to update the proposal accordingly.<br>
<br>
&gt;<br>
&gt; -- Adrian (and Erica)<br>
&gt;<br>
&gt;&gt; On Jul 1, 2016, at 2:08 AM, Adrian Zubarev via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; We haven’t pass the dave test yet? :D<br>
&gt;&gt;<br>
&gt;&gt; Still curious what he’d say about Syntax.Literal.*Protocol<br>
&gt;&gt;<br>
&gt;&gt; One more question:<br>
&gt;&gt;<br>
&gt;&gt; What can the namespace Syntax could be used for except for literals, any idea? (I have no clue.)<br>
&gt;<br>
<br>
--<br>
Dave<br>
_______________________________________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
</blockquote></div>