rendered paste bodyConsider the following 2 files. 'one' would not be effected by code changes
and reloading. 'two' would be effected.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-module(one).
-export([foo/0, start_link/0]).
start_link() ->
spawn(?MODULE, foo, []).
foo() ->
receive
{From, say} ->
From ! bar(),
foo() %% a local fun
end.
%bar() ->
% "hello".
bar() ->
"night".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-module(two).
-export([foo/0, start_link/0]).
start_link() ->
spawn(?MODULE, foo, []).
foo() ->
receive
{From, say} ->
From ! bar(),
?MODULE:foo() %% an external fun
end.
%bar() ->
% "hello".
bar() ->
"night".
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%