Call for opinions: attribute defaults and renaming "flexible"

Mark S. Miller erights at
Sat Sep 6 00:02:18 PDT 2008

On Fri, Sep 5, 2008 at 11:44 PM, Ingvar von Schoultz
<ingvar-v-s at> wrote:
> Mark S. Miller skrev:
>> So use strict mode; that's the kind of thing it's for.
> Sure, but as I said, there will always be those who find that
> unsuitable, or who find that it breaks the old code that they
> must work with. It's very undesirable that the non-strict mode
> become bad quality.
> And failing silently here is very bad quality.

Strict mode is there to provide those quality-supporting rules that
are not sufficiently compatible to propose for the non-strict
language. You propose to throw an error for a case that is currently
silent *both* according to the ES3 spec and by all browser behaviors.
Any behavior where the ES3 spec and all browsers currently agree is
likely to be legacy we can't break.

We have considered making some breaking changes conditional on version
opt-in rather than strictness-opt-in. But in all cases, it is to
support additional functionality (lexically nested named functions,
new keywords, both of which are technically compatible within the
language of ES3). If you want to propose turning off old functionality
for the sake of quality, or to turn silent failures into noisy ones,
again, that's what strict mode is for.


More information about the Es-discuss mailing list