On Oct 1, 2014, at 9:05 AM, Mark S. Miller wrote: > Good point. If we can require all such assignments to be rejected statically, > why is a runtime assignment to a const variable even possible? Can't we just > assert that this cannot occur?
The runtime cases I meant are the ones you mentioned. Sloppy with or eval dynamically shadowing a sloppy a [[Set]] reference to a const binding. Can't be a early error, should be a runtime error. Allen > > > On Wed, Oct 1, 2014 at 8:59 AM, Allen Wirfs-Brock <[email protected]> > wrote: > > On Oct 1, 2014, at 8:39 AM, Mark S. Miller wrote: > > ... > > I was with you until you got to the following point > > > > > If there is an intervening "with" or sloppy direct eval, then there is not > > a statically apparent assignment to a const variable. Since this can only > > occur in sloppy code anyway, it seems more consistent with the rest of > > sloppy mode for this failed assignment to be silent, rather than > > dynamically throwing an error. > > > > const is a new kind of declaration unlike any declaration form that previous > existed in ES, so Ii don't think its handling introduces any legacy > consistency issues. If somebody is using const, regard less of mode, they > pretty clearly expect assignments to any const bindings to be illegal. And, > I don't think any body wants new silent failure errors, even in sloppy mode. > The most consistent thing is for runtime detected assignments to const > bindings to always be noisy errors. Early where possible, at runtime in the > rest of the cases. > > Allen > > > > > -- > Cheers, > --MarkM
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

