<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Oct 10, 2010, at 4:14 PM, Mark S. Miller wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">My interpretation is that the spec in this regard is consistent with reality as intended and is not an ass.</blockquote><div><br></div>Could be -- I know we have discussed this before, and I like your interpretation, but Cameron is only the latest among many to reach different categorical conclusions, which did not include yours (if I have not misread his). Something is unclear in the spec.</div><div><br></div><div>/be</div><div><br><blockquote type="cite"> Native functions can be written in JS or be built in. The "semantics defined by the spec" does not mean that the spec says what specifically their internal [[Call]] method does when called. It does say what the overall contract is. For example, it must inherit from Function.prototype. It must have an integer length. It must have a [[Call]] property, and thus its "typeof" must be "function". And it should have a [[Class]] of "Function".<div>
<br></div><div>In other words, [[Class]] "Function" is one of the native internal nominal types whose contract is defined by the spec. If a method of a host object obeys that contract, it would be best for it to actually be a native function.</div>
<div><br><br><div class="gmail_quote">On Mon, Oct 11, 2010 at 12:41 AM, Brendan Eich <span dir="ltr">&lt;<a href="mailto:brendan@mozilla.org">brendan@mozilla.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Oct 10, 2010, at 3:28 PM, Brendan Eich wrote:<br>
<br>
&gt; Native functions do not have associated FunctionBody representations, of course; one clue is what toString returns.<br>
<br>
</div>Here I use "native functions" to mean either the built-in functions of ES5 clause 15, or the DOM built-in functions. Although the spec draws a bright line around its built-ins vs. "host objects", real implementations use the same native-function variant of function objects for both. This is important reality to support with some spec fixes.<br>

<br>
What's more, we hope to self-host DOM methods over time, so the WebIDL specs should not require built-in or "native" implementation. It should not be mandatory. But now I think we are way beyond es5-discuss territory. Setting reply-to.<br>

<font color="#888888"><br>
/be<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
es5-discuss mailing list<br>
<a href="mailto:es5-discuss@mozilla.org">es5-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es5-discuss" target="_blank">https://mail.mozilla.org/listinfo/es5-discuss</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>&nbsp; &nbsp; Cheers,<br>&nbsp; &nbsp; --MarkM<br>
</div>
_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>https://mail.mozilla.org/listinfo/es-discuss<br></blockquote></div><br></body></html>