Avoiding language mode/version combinatorics (was: Simple tail calls)

Peter Michaux petermichaux at gmail.com
Sat Dec 6 21:21:41 PST 2008

2008/12/6 Mark S. Miller <erights at google.com>:
> On Sat, Dec 6, 2008 at 2:25 PM, Michael Day <mikeday at yeslogic.com> wrote:
>>> function f()
>>> {
>>>  with (o)
>>>     return g();
>>> }
>> Okay, so the with statement modifies the scope chain, which must be undone
>> after the call to g(). Off the top of my head, I would say that this should
>> still be a tail call unless enough implementers complain :)
> By the time Harmony starts firming up, depending on developer uptake of
> ES3.1's strict mode, we may decide that Harmony should be a successor only
> of ES3.1-strict. Since both strict and Harmony will require opt-in,
> ES3.1-nonstrict would remain for any code that does not opt-in.
> Since language design is hard, and since ES3.1-strict is a less bizarre
> starting point for language design, I hope it turns out that way. For
> example, since ES3.1-strict doesn't have "with", we could leave "with" out
> of Harmony and dodge your question ;). We should wait until we get more data
> about receptivity to ES3.1's strict mode before making any irrevocable
> decisions. But let's keep this possibility in mind in our Harmony
> discussions.

Very appealing idea for harmony.


More information about the Es-discuss mailing list