implementation dependencies (was Re: ES4 work)
brendan at mozilla.org
Thu Feb 21 22:03:14 PST 2008
On Feb 19, 2008, at 6:39 PM, Graydon Hoare wrote:
> Finally there is a category I left off the above elaboration, mostly
> because it is under-developed in the RI: control mechanisms. There are
> dependencies between tail calls, generators and stack inspection,
> and I
> can't say I fully understand the dependencies nor the impact they have
> on the rest of the implementation.
This reminds me of something that Maciej already questioned in his
initial response to the language overview: if the control inspector
is optional, it's either useless on the web because not supported by
all major browsers, or else de-facto non-optional: mandatory due to
support in one or two top-market-share browsers. Therefore it should
not be included as an optional part out of ES4. We already agreed not
to make it mandatory for the sake of small-device implementations.
I like the control inspector proposal (http://wiki.ecmascript.org/
doku.php?id=proposals:stack_inspection), but Maciej's argument seems
decisive to me. Those of us likely to implement it in the near term
could work on developing an ad-hoc spec from the proposal, to be
considered for inclusion in a later edition.
Generators have an implementation plan in the RI based on delimited
continuations in SML, and we seem to have reached consensus recently
on proper tail calls. To lighten the load and focus on these two high-
value control abstractions proposed for ES4, could we think about
deferring control inspector? This is discussion fodder, I'm not yet
filing a trac ticket.
More information about the Es4-discuss