I don't understand why this would need a new language, it seems like tools would be easier. If it is from development, the whole point is to edit functions. If it is to edit live programs, one obvious and good way is to swap out a function pointer atomically and call functions by getting their pointer atomically. This doesn't really have anything to do with a different language though.
> The benefits really start to manifest in distributed computing and package management: much less need to worry about transitive dependencies and conflicting versions.
I can see how that would work better if function references are to hashes of entire functions, rather than just the names of functions.