Hi David, I think this is an excellent idea. I will add it to the concurrency strawman.<div><br></div><div>However, since the concurrency strawman is on he agenda for May and I'm currently overloaded preparing for next week's March meeting, I won't get to this till April. Once I have a draft, further feedback would be great. Thanks!<br>
<br><div class="gmail_quote">On Fri, Mar 18, 2011 at 5:51 AM, David Bruant <span dir="ltr"><<a href="mailto:bruant@enseirb-matmeca.fr">bruant@enseirb-matmeca.fr</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


  

    
  
  <div text="#000000" bgcolor="#ffffff">
    <font size="-1">Hi,<br>
      <br>
      _Foreword_<br>
      Each time I write "setTimeout", I mean "setTimeout and setInterval
      (and there clear functions)" (please forgive the recursive flaw)<br>
      <br>
      _Introduction_<br>
      Before the concurrency proposal
      (<a href="http://wiki.ecmascript.org/doku.php?id=strawman:concurrency" target="_blank">http://wiki.ecmascript.org/doku.php?id=strawman:concurrency</a>), a
      pure ECMAScript program had a start and an end, that was it. No
      event loop, no asynchronous callback, etc.<br>
      If ECMAScript standardizes this proposal or another, there will be
      a need to standardize an event loop in a way or another. Adding a
      timing aspect to this event loop and setTimeout can be
      standardized in ECMAScript.<br>
      <br>
      _Current_standardization_state_<br>
      setTimeout isn't part of ECMAScript. setTimeout is nonetheless
      standardized as part of "HTML Standard"
      (<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#timers" target="_blank">http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#timers</a>).
      Besides the "task" dependency (which is part of the standardized
      event-loop in the same document:
<a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task" target="_blank">http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#concept-task</a>),
      this is more or less ECMAScript.<br>
      <br>
      _Current_use_<br>
      As anyone will have certainly noticed, setTimeout has no reason to
      be considered as client-side web specific. And, as a matter of
      fact, there is a setTimeout in node.js and in ActionScript
      apparently. I wouldn't be surprised if most (if not all)
      ECMAScript-based languages had a setTimeout function consistently.<br>
      <br>
      For all these reasons, I am wondering if setTimeout wouldn't be
      had being standardized in ECMAScript itself.<br>
      <br>
      _How?_<br>
      I currently see two main tracks:<br>
      * Standardize it as it is.<br>
      * Standardize a more powerful mecanism and standardize setTimeout
      as an implementation based on this mecanism. If setTimeout had
      been considered as not flexible enough by some people, this could
      be an occasion to fit their use case (I personnally have no
      suggestion on the matter)<br>
      I am not familiar with promises, but after reading a bit about it
      and seeing a presentation on the topic, I intuit that it may not
      be very difficult to add a timing aspect to it based on which
      setTimeout could be implemented.<br>
      <br>
      _Advantages_<br>
      * As said, it could be an occasion to fix flexibility issues that
      people would find to setTimeout<br>
      * Define a strict mode behavior to it. Currently, people can pass
      strings as first argument to setTimeout. </font><font size="-1">There
      is currently a spec hole in what happens in strict mode for
      setTimeout. <br>
    </font><font size="-1">I would be in favor to throw an exception if
      people use strings in setTimeout in strict mode (maybe it's too
      late to suggest that since FF4 ships in less than a week?).</font><font size="-1"> </font><small>Anyway, there is room for other ideas
      like standardizing strict eval for strings as first argument in
      strict mode. My main goal is to discuss the issue.</small><font size="-1"><small><big><br>
          <br>
          <br>
          I haven't found any trace of previous discussion of this
          topic. Has there been any?<br>
          <br>
          David</big></small></font><font size="-1"><small><br>
      </small></font>
  </div>

<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>    Cheers,<br>    --MarkM<br>
</div>