- tags
- Computer Science
Content addressing uses a value directly derived from a piece of content (usually a hash) as an identifier for that content, as opposed to inventing a name for it.
This has some advantages, especially in distributed environments:
- The data corresponding to a given ID never changes
- Distributed systems always agree on IDs
- Renaming is safe (names are unimportant)
- Deduplication and replication are both easy
Unison is a programming language that stores code as content-addressed ASTs. In that context there are additional benefits:
- Arbitrary expressions (including functions!) can be treated as serializable (across network, time, …), as long as each end has access to the code
- Dependencies never conflict
- No code ever needs to be compiled more than once
Notes that link to this note