Overview of the Unison language
trunkUnison is a statically-typed functional language featuring type inference, an effect system, and advanced tooling. It is built on the principle of content-addressed code, where functions are identified by a hash of their implementation rather than by name, and code is stored as its AST in a database.
Key benefits include:
- No builds: Perfect incremental compilation via a shared compilation cache.
- Non-breaking renaming: Instant renaming of definitions.
- Test caching: Deterministic tests are only rerun if dependencies change.
- Semantically-aware version control: Avoids merge conflicts caused by whitespace, import order, or formatting.
Unison can be used as a general-purpose language or with Unison Cloud for distributed systems.