Or perhaps you’re running on an OS that doesn’t have any support for hot-patching a running executable with new code. And you think “I know how to write a programming language runtime that can do that.” Perhaps you’d seen how Erlang can do it, and wanted to try it yourself.
Dynamic code upgrade is really rare in general. The most that's usually done in mainstream practice is to pass socket fds to a newly exec()ed child instance, or some other form of superserver/pre-opening, a la inetd, UCSPI or whatnot.
What if you were on a system that didn’t support DLLs or shared libraries, and you thought it’d be kinda useful to invent something like that?
Depends on what your purpose for shared libraries are. If you just want a plugin system, then the traditional way w/o shared libs is to use some form of RPC so as to coordinate forked OS processes.
Finally, the majority of our programming languages are firmly in a von Neumann model, so it isn't quite dead yet. Not sure if read-only code segments are enough to deliver its eulogy, either.
Or perhaps you’re running on an OS that doesn’t have any support for hot-patching a running executable with new code. And you think “I know how to write a programming language runtime that can do that.” Perhaps you’d seen how Erlang can do it, and wanted to try it yourself.
Dynamic code upgrade is really rare in general. The most that's usually done in mainstream practice is to pass socket fds to a newly exec()ed child instance, or some other form of superserver/pre-opening, a la inetd, UCSPI or whatnot.
What if you were on a system that didn’t support DLLs or shared libraries, and you thought it’d be kinda useful to invent something like that?
Depends on what your purpose for shared libraries are. If you just want a plugin system, then the traditional way w/o shared libs is to use some form of RPC so as to coordinate forked OS processes.
Finally, the majority of our programming languages are firmly in a von Neumann model, so it isn't quite dead yet. Not sure if read-only code segments are enough to deliver its eulogy, either.