<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Forget this below, sorry I got confused, coming back to your first
    email your tool does count function expressions that do not have
    "this" in their immediate scope, so indeed functions that
    potentially need the literal "this", then you add object literal
    methods, then this leaves 10% function that can keep the old syntax
    or get a new shorter syntax that does not bind "this"<br>
    <br>
    OK, then I have tried again the tool on an ajax app
    (<a class="moz-txt-link-freetext" href="http://www.blimpme.com/mobile">http://www.blimpme.com/mobile</a>), the total BTF candidates drops to
    77.6 %<br>
    <br>
    I think it is due to the fact that :<br>
    <br>
    var x=document.createElement('div');<br>
    x.onmousedown=function() {var a=this.style};<br>
    <br>
    var y=function() {var a=this;};<br>
    x.onmouseover=y;<br>
    <br>
    are not counted as BTF candidates<br>
    <br>
    Since I have not yet understood what should become methods with the
    arrow/do or do proposals, I can not say more...<br>
    <br>
    <br>
    Le 14/03/2012 22:15, Aymeric Vitte a écrit :
    <blockquote cite="mid:4F610A77.7030903@gmail.com" type="cite">
      <meta content="text/html; charset=ISO-8859-1"
        http-equiv="Content-Type">
      So BTF stands for "bound-this function expressions"<br>
      <br>
      But it does include case b (don't care about "this")<br>
      <br>
      Then in the next email you conclude :<br>
      <br>
      "Interestingly, when we take the sum of BTF candidates and object
      literal methods, we account for over 90% of function expressions."<br>
      <br>
      Is it surprising ?<br>
      <br>
       "This suggests that an additional short function syntax that does
      *not* bind 'this' may not be necessary."<br>
      <br>
      ??? Why because except object literal methods (+/-50% for which
      the lexical this is not supposed to be needed) most of the
      functions are the b case ?<br>
      <br>
      I should be missing something important... don't understand
      exactly what the analysis does highlight, thanks if you can
      explain<br>
      <br>
      Le 14/03/2012 13:46, Kevin Smith a écrit :
      <blockquote
cite="mid:CABikueCzhA3pX+TGuZAL2fK2477JufkwMn0DgK82DRUgT7mYJw@mail.gmail.com"
        type="cite">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000">As far as I have
              understood "Total Function Expressions" is supposed to
              return all functions that do not contain "this" in their
              initial scope and that have a "var self=this" trick that
              is used somewhere inside the function (ie function() {var
              self=this;var b=function() {console.log('test')} is not a
              BTF candidate because self is not used), correct ?<br>
            </div>
          </blockquote>
          <div><br>
          </div>
          <div>Sorry, no.  As stated previously, I'm assuming for the
            purposes of this analysis that BTFs will be used in cases
            where (a) we want lexical "this" and (b) we don't care about
            "this" at all.  Why in the second case?  Because BTF syntax
            will be more concise and will generally express the intent
            better.</div>
          <div><br>
          </div>
          <div>When I started this research, I wasn't aware of the
            "tri-lambda" work being done, and specifically the proposal
            that there be two short function syntaxes:  one for classic
            functions (->) and one for bound this (=>).  Clearly
            some of the BTF candidates could go either way, and we
            really can't make that distinction in this analysis.</div>
          <div><br>
          </div>
          <div>kevin</div>
        </div>
      </blockquote>
      <br>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">
</pre>
  </body>
</html>