[erlang-questions] On upgrading

Joe Armstrong <>
Sat Mar 30 20:25:59 CET 2013

When Erlang was designed we had very little memory compared to today.
A few MBytes total compared to GBytes today. That's why there are only
two versions of a module.

Today I'd go for an arbitrary number and use GC to remove unused code.



On Sat, Mar 30, 2013 at 3:58 PM, Jonathan Schneider

> I have a few questions about upgrading.
> soft_purge/1 must know at some level which processes are still running the
> old version of a module. Does this function have a friend that returns a
> list of identifiers of processes that are getting in the way (that would
> die in a subsequent module load) ?
> The problem case is where a process has called through the module that
> wants upgrading and can't easily be tickled to let go of it. Obviously one
> would try not to have code arranged like that.
> Would it be possible to support not one but arbitrary old versions of
> modules ? Admittedly I don't understand the VM's workings but it seems to
> be the cost would be memory taken up by beam code. Was this ever considered
> during Erlang's design or indeed for the future ?
> Thanks,
> Jon
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130330/37add64f/attachment.html>

More information about the erlang-questions mailing list