Introduction to the Unison programming language
summary
Unison presents a language where every definition is a content-addressed hash so code is durable, transferable and avoids naming and dependency hell, and the codebase is an immutable database rather than text files. It ships a bi-directional higher-rank typechecker with type error provenance, an algebraic effects system called abilities, an "at" primitive that ships quoted syntax trees to remote nodes, a JVM runtime with partial evaluation and tail calls, plus a slow Haskell reference native runtime; the system is usable but still early work in progress.
AI-written summary · about
chapters (26)
- 0:00Introduction
- 0:49What is Unison
- 6:24Unison programs
- 10:01Unison remoting
- 12:01Unison hashes
- 12:50Unison expressions
- 15:25Unison codebase
- 18:55Dependency hell
- 20:41Type system
- 21:09Type error provenance
- 21:47Why type errors
- 23:49Errors
- 24:06Append operator
- 24:27Highschool
- 24:51Type errors
- 26:47Solution to errors
- 27:19Name resolution
- 27:37Type checks
- 28:59Unison FX
- 29:55State Abilities
- 31:31Pop
- 32:37Quoted
- 34:17Handle
- 38:38Unison
- 39:56Roadmap
- 40:25Release date
related talks
19mUnison: A Friendly Programming Language from the Future Part 1
27mUnison: A Friendly Programming Language from the Future Part 2
32mUnison, and why the codebase of the future is a purely functional...
22mProgramming the worldwide elastic supercomputer with Unison
05mInterview
42mMicroservices on Unison Cloud: Statically Typed, Dynamically Deployed
36mHow to write a search engine in 15 lines of code
17mTowards Generic Higher-Order Unification Implementations in Haskell
