On Thu, Jan 15, 2009 at 7:35 PM, David-Sarah Hopwood <span dir="ltr">&lt;<a href="mailto:david.hopwood@industrial-designers.co.uk">david.hopwood@industrial-designers.co.uk</a>&gt;</span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">Brendan Eich wrote:<br>
&gt; On Jan 15, 2009, at 5:42 PM, David-Sarah Hopwood wrote:<br>
&gt;&gt; Allen Wirfs-Brock wrote:<br>
&gt;&gt;&gt; I generally agree that it would be a good idea to specify apply (and<br>
&gt;&gt;&gt; call)<br>
&gt;&gt;&gt; pretty much as proposed below by David-Sarah. The major reason that it<br>
&gt;&gt;&gt; makes it explicit what happens for most currently unspecified edge cases<br>
&gt;&gt;&gt; such as a sparse argArray or argArray properties that are accessors.<br>
&gt;&gt;<br>
&gt;&gt; Exactly: even if the second argument to &#39;apply&#39; were restricted to Array<br>
&gt;&gt; and arguments objects, the properties can (and would in the case of an<br>
&gt;&gt; arguments object specified as in the current draft) have getters.<br>
&gt;&gt; So an implementation *must* read the properties in a way that has the<br>
&gt;&gt; full generality of [[Get]], and might as well be specified using [[Get]].<br>
&gt;<br>
&gt; This is a fix indeed.<br>
<br>
</div>OK, we seem to have a rough concensus. I will open a ticket on this...</blockquote><div><br><br>Wonderful! And Brendan, you said earlier you were open to freezing strict arguments, and that the joining of arguments should be severed by freezing. <br>
<br>With these two changes, virtual-ES-strict-in-ES-strict emulations such as future Valija will be able to easily emulate strict arguments. An emulated strict arguments need only be a normal frozen non-array object inheriting from Array.prototype with appropriate length, caller, callee, and constructor properties. Otherwise, self-virtualizations would have needed to create a genuine arguments object, since the difference would have been observable. I should have mentioned this earlier as another motivation.<br>
</div></div><br>-- <br> &nbsp; &nbsp;Cheers,<br> &nbsp; &nbsp;--MarkM<br>