<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 5, 2015, at 2:52 AM, Erik Arvidsson wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Traceur does not give any history on this but I also remember having this discussion in a f2f meeting. It was all about "js has always been mutable, lets not change that. If you want immutability you have it with `const f = class {}`".<br></div></blockquote><div><br></div><div>I think that's pretty much it.  Plus I think there was particular concern about the script global scope and the expectation that globals defined by one script should be patchable by another.</div><div><br></div><div>But perhaps our insight in these matters have evolved since then.</div><div><br></div><div>Editorially it would be a trivial change to make class declaration produce immutable bindings.  But if we were going to decide that I'd prefer that we achieved  TC39 consensus on the matter within the next week , so the changes could be made before the March meeting.  Does anybody want to try to champion this through that process?</div><div><br></div><div>Allen</div><div><br></div><div><br></div><blockquote type="cite"><br><div class="gmail_quote">On Thu, Mar 5, 2015 at 9:51 AM Andreas Rossberg <<a href="mailto:rossberg@google.com">rossberg@google.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">On 5 March 2015 at 04:57, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.org" target="_blank">brendan@mozilla.org</a>></span> wrote:<br></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span>Allen Wirfs-Brock wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
This is novel weirdness.<br>
</blockquote>
<br>
In C++/Java/C# etc. you don't see it because the corresponding declarations create immutable bindings. I agree that it would have been nice of we could have done that.<br>
</blockquote>
<br></span>
Why could we not have?<br>
<br>
I asked this up-thread. What was the rationale for let not const binding via class declarations? I honestly do not remember us considering const. Did we just "default" into let because of the historical (var) default binding form being mutable? If so, is it really too late?<br></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>I seem to remember a (brief) discussion about this, where the main argument for mutable was that it was "natural" for JS. Allen probably remembers more of the details.</div><div><br></div><div>It would be totally awesome if we could still correct this.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br></div><div>/Andreas</div><div> </div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Cc'ing Arv in case he can check via Traceur telemetry whether anyone counts on let-not-const from class.<span><font color="#888888"><br>
<br>
/be</font></span></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div>
______________________________<u></u>_________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/<u></u>listinfo/es-discuss</a><br>
</div></div></blockquote></div></div></div></blockquote></div>
</blockquote></div><br></body></html>