excluding features from sloppy mode

Brendan Eich brendan at mozilla.com
Sat Dec 29 21:20:56 PST 2012


Kevin Smith wrote:
> The more I think about this, the more convinced I get that all new 
> syntax and breaking changes (where possible) should be strict-mode only
...
> 1) All new syntax and breaking changes (where possible) are 
> strict-mode only.
> 2) Modules and only modules are implicitly strict.

(2) is not what (1) says, ignoring the mysterious "(where possible)" 
loophole.

Your lede has the loophole too and talks about ease of teaching. I smell 
a rat! Teaching people a simplified but not-quite-true story is useful. 
It's done all the time. But that is teaching, not language design. The 
full truth has the module loophole. Why? Why not class bodies too?

The teaching myth in your lede and up till near the end does not justify 
the loophole being only big enough to let module through. A general 
slippery slope preference for one exception rather than N > 1 
exceptions, that works a bit better, but it is still a bit of 
special-pleading.

As promised subsiding. I just had to follow up because on re-reading, I 
noticed the teaching trick you pulled off. It's a good trick, again -- 
don't get me wrong. But it is not enough for the expert users or the 
language designers and implemntors, who need to hear the whole truth and 
buy into it, spread it, and love it.

/be



More information about the es-discuss mailing list