<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Fred,<div><br></div><div>I think we are talking about slightly different things here. I understand the concepts of old code and why shall a process executing the first version of the code be terminated when the third version is loaded.</div><div><br></div><div>But I don’t understand why holding a fun (but not executing the code!) is a reason for killing the process. Especially since I can hide the fun in an ets table and read it back from there after the code is gone. So the emulator doesn’t have a built-in constraint that every fun must point to existing (new or old) code.</div><div><br></div><div>This is not the same mechanism as executing old code either: executing a fun that points to no code raises a <font face="Menlo">badfun</font> error (which can be catched, if I wish).</div><div><br></div><div>Regards,</div><div>Daniel</div><div><br><div><div>On 2014 Jun 3, at 16:56 , Fred Hebert <<a href="mailto:mononcqc@ferd.ca">mononcqc@ferd.ca</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On 06/03, Dániel Szoboszlay wrote:<br><blockquote type="cite">My question is why’s the difference?<br><br>[...]<br><br>Could someone explain to me what is the VM doing here and why?<br><br></blockquote><br>[…]</blockquote><blockquote type="cite">So what you see with anonymous functions here is the same mechanism,<br>just repeated in a different way.<br>[…]<br></blockquote></div><br></div></body></html>