<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Le 30/08/2011 20:00, Andreas Rossberg a écrit :
    <blockquote
cite="mid:CADjR9NrHCWA8XtVV-871wW33Br_zoG0d=NHhcznuqa+Aa_WjvQ@mail.gmail.com"
      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:0 0 0
          .8ex;border-left:1px #ccc solid;padding-left:1ex;">
          <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. Proxy
          authors already have to do a lot of similar work, e.g. to make
          all the standard Object.prototype and Function.prototype
          methods available on proxies.</div>
      </div>
    </blockquote>
    Actually, the situation is a bit different.<br>
    If strawman:handler_access_to_proxy [1] is accepted (which seems to
    slowly come to an agreement based on the "July TC39 meeting notes,
    day 1" thread), then all inheritance-related traps become derived,
    so in order to have proper inheritance, authors just have to not
    define these traps (and set the correct prototype object of course).<br>
    Or am I missing a case?<br>
    <br>
    f.length and f.prototype are own properties. As such, there is no
    such convenience.<br>
    <br>
    <blockquote
cite="mid:CADjR9NrHCWA8XtVV-871wW33Br_zoG0d=NHhcznuqa+Aa_WjvQ@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">
        <div>I think this problem is something that should be solved by
          the library, not the proxy API itself. Maybe we can find some
          nice building blocks for handlers that make available the
          basic functionality in a convenient and extensible way?</div>
      </div>
    </blockquote>
    For f.prototype, it should be ok, but f.length will require to
    provide callTrap to the building block (or callTrap.length). Why not
    have this by default embedded in the API where callTrap has to be
    passed anyway?<br>
    Also, I think that by default providing a .length, .prototype and
    having a relevant behavior when it come to strict mode .caller and
    .arguments would better reflect the default intent of the
    programmer.<br>
    <br>
    David<br>
    <br>
    [1]
    <a class="moz-txt-link-freetext" href="http://wiki.ecmascript.org/doku.php?id=strawman:handler_access_to_proxy">http://wiki.ecmascript.org/doku.php?id=strawman:handler_access_to_proxy</a><br>
  </body>
</html>