<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div><font class="Apple-style-span" color="#000000"><br></font>Why do you think it's important not to have side effects for syntax<br>errors but don't think it's important to not have side effects for<br>run-time errors? Given that we simply can't fix the latter, I don't<br>see any advantage to users to attempt to fix the former.</div></blockquote><blockquote type="cite"><div><br>I really don't think optimizing for the case when something has gone<br>wrong is the way to go. That is an extremely rare case in a deployed<br>application, and so optimizing for performance feels much more<br>important to users.<br><br>Also considering how applications are likely to handle these errors,<br>I.e. full abort and tell user that an unrecoverable error has<br>occurred, it doesn't really matter if there have been side effects or<br>not.<br></div></blockquote><div><br></div><div>The primary situation i'm imagining could happen is one script starts manipulating a client side database onload (maybe  a conscious decision to do db work while waiting for io), then the next script fails to load due to (say) a network failure, then your left with side effects they may not be reasonably recoverable.  Arguably this design should be considered flawed anyway, but people tend to test under ideal conditions more often than not.  The counter argument is that protecting developers from their own foolishness is not a goal.</div><div><br></div><blockquote type="cite"><div><br>/ Jonas<br></div></blockquote></div><br><div>--Oliver</div></body></html>