Does anyone know of prior art on hot-reloading of data structures in programming languages? Similar to this: https://mun-lang.org/blog/2020/05/01/memory-mapping/
You haven't programmed Smalltalk until you get your image into an unrecoverable state! Now that we're living in the 21st and the After Times (times after Git in this case), there really ought to be a better way to manage images. I mean there's the whole pit of CRDTs. Surely a new image based programming language should emerge out of it.
An interesting one is https://www.unisonweb.org/Its codebase is logically an append-only datastructure (but I suppose there is some form garbage collection). And although they call it a codebase, it stores some data as well (everything that has a global name associated with it). It's not quite an image, in particular because it doesn't store the run-time state. You can't "save a session" and take it up again. But it has none of the order-related issues because everything is immutable, except for the names.
đź”— The Unison language
@Nuno Leiria +1 to what @William Taysom and Konrad Hinsen said. I'll add that https://en.wikipedia.org/wiki/The_Art_of_the_Metaobject_Protocol is a good place to read more about advanced object systems that have things like updating of instances when class prototypes are changed, as Konrad described.
Thanks Jack Rusher, I'll have a look. I've also since found this paper which gets into the practice of using lisp interactively http://www.softwarepreservation.org/projects/interactive_c/bib/Sandewall-1978.pdf