faq update
Matthias Lang
matthias@REDACTED
Wed Oct 23 13:22:03 CEST 2002
Hi,
I'm going through the FAQ, mainly to update the links for R9. While I
was at it I felt it was time to fix a question about FUNs. Any
comments about this wording (or the facts!)?
<sect3><title>Do funs behave during a code change?<para>
Yes and no. A function spawned via a fun can have its
code changed and the old code can be purged without
problems.
<para>
On the other hand, a bound fun will not be replaced.
In the following example, the old verson of F is
executed even after a code change:
<screen>
-module(cc).
-export([go/0, loop/1]).
go() ->
F = fun() -> 5 end,
spawn(fun() -> loop(F) end).
loop(F) ->
timer:sleep(1000),
F(),
cc:loop(F).
</screen>
This type of problem can be solved in the code_change/2
function in the standard behaviours.
Matthias
More information about the erlang-questions
mailing list