<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 &nbsp;a&nbsp;conscious&nbsp;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. &nbsp;Arguably this design should be considered flawed anyway, but people tend to test under ideal conditions more often than not. &nbsp;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>