Links
Unison programming language: The big idea
unison-lang.org
In Unison, since definitions are identified by a content hash, arbitrary computations can just be moved from one location to another, with missing dependencies deployed on the fly. The basic protocol is something like: the sender ships the bytecode tree to the recipient, who inspects the bytecode for any hashes it’s missing. If it already has all the hashes, it can run the computation; otherwise, it requests the ones it’s missing and the sender syncs them on the fly. They’ll be cached for next time.