Unison is a Content-Addressable Programming Language. That means that each definition is uniquely identified by its content. You never update a function, you always define new functions. Handling name → definition mapping is another part of the story.
The code is stored and managed by a Unison manager.
Non-text code representation also allows sending up-to-date code to other nodes in the system. You can have generic runners and you don’t need to deploy the code beforehand.
- Content-Addressable definitions in Unison remind me of versions in Darklang.
- How recursion is handled in content-addressable system?