<div dir="ltr">On Thu, Jun 23, 2016 at 4:34 AM, Dmitri Gribenko <span dir="ltr">&lt;<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.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>On Thu, Jun 23, 2016 at 2:00 AM, Xiaodi Wu &lt;<a href="mailto:xiaodi.wu@gmail.com" target="_blank">xiaodi.wu@gmail.com</a>&gt; wrote:<br>
&gt; On Thu, Jun 23, 2016 at 1:26 AM, David Sweeris via swift-evolution<br>
&gt; &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &gt; On Jun 22, 2016, at 19:35, Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; On Wed, Jun 22, 2016 at 5:15 PM, David Sweeris &lt;<a href="mailto:davesweeris@mac.com" target="_blank">davesweeris@mac.com</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; That&#39;s a really interesting idea. Is &quot;Syntax&quot; a placeholder, or is that<br>
&gt;&gt; &gt;&gt; the intended name?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; It is the best name we could come up with, we are open to better<br>
&gt;&gt; &gt; suggestions.<br>
&gt;&gt;<br>
&gt;&gt; I guess it depends on the intended semantics of the &quot;namespace&quot;. If the<br>
&gt;&gt; purpose is to be a container for the various LiteralConvertible protocols,<br>
&gt;&gt; then maybe something like `AcceptsLiteralType.Integer` might be better? It&#39;s<br>
&gt;&gt; a bit wordy, though.<br>
&gt;<br>
&gt;<br>
&gt; I get what&#39;s being aimed at here, but I think the meaning of `Syntax` in<br>
&gt; this context is indecipherable. IIUC, the point to be conveyed by the term<br>
&gt; is that a literal has no type until it is supplied as an argument to the<br>
&gt; initializer and becomes typed.<br>
<br>
</span>The point of using &quot;Syntax&quot; is to emphasize that this protocol is for<br>
integration with the language syntax.  The &quot;Syntax&quot; pseudo-namespace<br>
groups protocols that provide a special kind of a capability --<br>
changing the meaning of builtin language syntax.  This protocol is not<br>
meant to be coded against, used in other APIs or handled by the code<br>
in any other way except by being adopted (except maybe in the standard<br>
library code itself).<br></blockquote><div><br></div><div>This makes a lot of sense now after your expanded explanation. I still think, though, that the name reads rather absurdly. Most charitably, your types would conform to &quot;integer literal syntax,&quot; whatever that means. Visually, it looks like your types &quot;conform to Syntax.&quot; Could I suggest maybe `SyntacticIntegration` or `SyntaxIntegrating`? Something along those lines.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Should we add any other compiler interfaces that affect how builtin<br>
syntax works, they would also go into the &quot;Syntax&quot; namespace.<br>
<div><div><br>
Dmitri<br>
<br>
--<br>
main(i,j){for(i=2;;i++){for(j=2;j&lt;i;j++){if(!(i%j)){j=0;break;}}if<br>
(j){printf(&quot;%d\n&quot;,i);}}} /*Dmitri Gribenko &lt;<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>&gt;*/<br>
</div></div></blockquote></div><br></div></div>