implementation dependencies (was Re: ES4 work)

Brendan Eich brendan at
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 ( 
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 mailing list