<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Aug 30, 2011, at 2:16 PM, David Bruant wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  
    <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
  
  <div bgcolor="#FFFFFF" text="#000000">
    Le 30/08/2011 21:40, Brendan Eich a écrit :
    <blockquote cite="mid:DFA07272-D739-4AD4-98A1-7B57B4F34AB0@mozilla.com" type="cite">
      <div>
        <div>On Aug 30, 2011, at 11:00 AM, Andreas Rossberg wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">
          <div class="gmail_quote">On 30 August 2011 18:41, David Bruant
            <span dir="ltr"><<a moz-do-not-send="true" href="mailto:david.bruant@labri.fr">david.bruant@labri.fr</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">
              <div bgcolor="#FFFFFF" text="#000000">This would
                facilitate the author work when it comes to creating
                functions that look like functions without having to
                always include some initialization code for .length,
                .prototype and such. <br>
                It will still be possible to opt-out of .length or
                .prototype if the author doesn't<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>I don't think it's worth introducing special cases in
              the semantics, especially not for something like length.</div>
          </div>
        </blockquote>
        <br>
      </div>
      <div>Perhaps, but I think David has a stronger case for opting out
        of .prototype.</div>
    </blockquote>
    Actually that's what current function proxies do by default (no
    .prototype unless otherwise specified). My suggestion is to put a
    .prototype by default with keeping the option to opt-out (same with
    .length, etc.)<br></div></blockquote><div><br></div>Right, of course function proxies have to trap in order to emulate .prototype and other properties.</div><div><br></div><div><br><blockquote type="cite"><div bgcolor="#FFFFFF" text="#000000"><blockquote cite="mid:DFA07272-D739-4AD4-98A1-7B57B4F34AB0@mozilla.com" type="cite"><div>Indeed self-hosting some of the ES1-5 builtins requires doing
        so, somehow.</div>
    </blockquote>
    Couldn't it be achived with bound functions (which do not have an
    own "prototype" property)?<br></div></blockquote></div><br><div>Built-ins do not bind |this|, though -- many are generic (IIRC these are the ones V8 self-hosts).</div><div><br></div><div>Also, binding costs memory and cycles, it hurts a bit when creating these things. This can add up.</div><div><br></div><div>/be</div></body></html>