Good question.
In Smalltalk, yes.
In fact, in Smalltalk, dumping the entire program and restarting it is the only way to store and share programs. There are no source files, and there is no way to start the program from scratch. So in Smalltalk you get the free version.
Smalltalk VM offers a hook where each object can register to restore its external resources after a restart, for example, reopening files and Internet connections. But also, for example, whole arrays are registered on this hook in order to change its value in the case when the dump was transferred to the machine with different accuracy.
This can give an idea of ββhow difficult (or not) it can make us achieve this in a language that does not support renewable design dumps.
All other languages, alas, live much less. With the exception of some Lisp implementation, I would not know a single language that supports resuming from a memory dump.
This is a missed opportunity.
akuhn source share