<div dir="ltr">> <span style="font-size:12.8px">In your case the pointer to function is stored internally and it goes extinct when module is gone.</span><br style="font-size:12.8px"><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Why is this the behavior? I would expect the fun to properly call the latest version of the module's code if not purged,</span></div><div><span style="font-size:12.8px">throwing an exception otherwise, not "just throw because version changed".</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Why disallow funs to directly reference version-changing code?</span></div><div><span style="font-size:12.8px">(indirectly because fun () -> apply(M, F, A) end is still possible)</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">I am surprised & interested in the reasons behind having </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">* fun () -> mod:fname(Arg1, Arg2, ...) end</span></div><div><span style="font-size:12.8px">* fun () -> erlang:apply(mod, fname, [Arg1, Arg2, ...]) end</span></div><div><br></div><div><span style="font-size:12.8px">be semantically different! </span></div><div><span style="font-size:12.8px"><br></span></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div><br></div><div>Cheers,</div><div>-- </div><div>Pierre Fenoll</div></div><div><br></div></div></div></div>
<br><div class="gmail_quote">On 11 September 2016 at 09:27, Nuku Ameyibor <span dir="ltr"><<a href="mailto:nayibor@gmail.com" target="_blank">nayibor@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>thanks for quick reply .<br></div>will give it a shot .<div><div><img src="https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div><div><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Sep 11, 2016 at 7:08 AM, Dmytro Lytovchenko <span dir="ltr"><<a href="mailto:dmytro.lytovchenko@gmail.com" target="_blank">dmytro.lytovchenko@gmail.com</a>></span> wrote:<br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div dir="ltr">In your case the pointer to function is stored internally and it goes extinct when module is gone.<br>If you make it calculate function at runtime by, say, calling apply(mprocess, process_template, [test]), then it should work.<br></div><br><div class="gmail_quote"><div><div><div dir="ltr">sön 11 sep. 2016 kl 08:57 skrev Nuku Ameyibor <<a href="mailto:nayibor@gmail.com" target="_blank">nayibor@gmail.com</a>>:<br></div></div></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div><div><div dir="ltr"><div><div><div><div>Dear List ,<br><br></div>i run into an issue where i was storing an anonymous function in mnesia  to be executed later .<br><b>F=fun(test) ->mprocess:process_template(te<wbr>st)end.</b><br><br></div><div><br></div>however  as soon as i make some changes to the mprocess module  and upgrade the module i get a <b>** exception error: bad function</b> error when i retrieve the fun and try to execute which i assume is because of the difference in the module versions . <br></div>Is there a way of making the stored fun execute the code and not have version conflicts .<br></div><br></div></div></div>
______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a rel="noreferrer" href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/list<wbr>info/erlang-questions</a><br>
</blockquote></div>
</blockquote></div><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/<wbr>listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>