On Mon, Sep 13, 2010 at 5:18 PM, Oliver Hunt <span dir="ltr">&lt;<a href="mailto:oliver@apple.com">oliver@apple.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word"><br><div><div class="im"><div>On Sep 13, 2010, at 2:02 PM, Mark S. Miller wrote:</div><br><blockquote type="cite">On Mon, Sep 13, 2010 at 1:18 PM, Dmitry A. Soshnikov <span dir="ltr">&lt;<a href="mailto:dmitry.soshnikov@gmail.com" target="_blank">dmitry.soshnikov@gmail.com</a>&gt;</span> wrote:<br>
<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


  
    
  
  <div bgcolor="#ffffff" text="#000000"><div><div></div><div><br></div></div>
    I didn&#39;t finished a detailed reading yet, but from the brief
    scanning, syntactically, I think <i>=&gt;</i> and <i>trait class</i>
    are not needed.<br></div></blockquote><div><br></div><div>* I used &quot;trait class&quot; rather than &quot;trait&quot; for two reasons:</div><div><br></div><div>    1) Syntactic ambiguity fear. &quot;trait&quot; is not one of the identifiers reserved by ES5 or ES5/strict, and so I am not proposing that it be an ES-Harmony keyword.</div>

<div><br></div><div>    2) More importantly, the object binds to the name it declares is not a trait but a function for making traits.</div></div></blockquote><div><br></div></div><div>I&#39;d prefer &#39;class trait&#39; which i think reads better, but i&#39;m not sure how much i&#39;m biased due to my desire to retain LL(1)-ness (I know that there is _some_ bias at least)</div>
</div></div></blockquote><div><br></div><div>Given that we&#39;re not treating &quot;trait&quot; as a keyword, when we see</div><div><br></div><div>    class trait(x, y) =&gt; {...}</div><div><br></div><div>how would we know whether this is an anonymous TraitClassExpression on a named ClassExpression for the class named &quot;trait&quot;? I agree we could make a special case for &quot;trait&quot; appearing in that position, but is that more or less unpleasant that the lookahead needed to distinguish &quot;trait class&quot;?</div>
<div><br></div><div>Also, to my ears, &quot;trait class&quot; reads like &quot;adjective noun&quot;. A &quot;class&quot; is a thing for making the kinds of things it describes. A &quot;trait class&quot; is a thing which makes the traits it describes. For the same reason, several people have suggested &quot;const function&quot; and no one has suggested &quot;function const&quot;.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word"><div><div><br></div><font color="#888888"><div>--Oliver</div><div><br></div>
</font></div></div></blockquote></div><br><br clear="all"><br>-- <br>    Cheers,<br>    --MarkM<br>