On Nov 12, 2007, at 4:01 PM, Mark Miller wrote: > To fix delete within this constraint, "delete <whatever>" in Caja > either return true or throws.
At this point, either ES4 slides down the slippery slope a bit and courts migration pain that holds it back (we really do expect most pages on the web today to work if shipped as application/ ecmascript;version=4 or application/javascript;version=2); or I think we need a better pragma story. We could support use DeleteError, ReadOnlyError and encourage users to litter their new code with this line at the top. There's good precedent from Perl and other languages for a superstitious use strict at the top. But the Errors are a mouthful and eyeful. Since I just mentioned strict mode, I'll note again that the single runtime semantic change strict mode causes from standard mode (assuming the program passes strict mode's type checker and lint-like sanity checker) is a change to eval: strict mode results in a different runtime eval, such that eval cannot create bindings in its dynamic scope. We could slide down *this* slope a bit by adding DeleteError and ReadOnlyError exception behavior to 'use strict'. Comments welcome, but you're probably in favor of opt-in versioning making all of these changes implicitly ;-). Or perhaps a 'use Caja' pragma :-P. /be _______________________________________________ Es4-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es4-discuss
