Well in Common Lisp we can. We can build a self-contained binary, run it, start a Swank server, connect to it from home and code against the running program. We can even install new libraries without stopping anything.
Not saying it's great for software updates, but it definitely is possible, and helps (like, update users' config etc).
That's not hot code reloading in the erlang sense. Hot code reloading is having a NamedModule be replaced by NamedModule on the fly and have all of the processes executing functions in that module's (global) namespace respect the new binary code in accordance to the well-defined hot code reloading API that erlang has established, followed by kicking out the old namespace when it's dependent processes have drained of it.
This is not trivial considering that different processes may be holding onto that code for different lifetimes, and all must be managed sanely.