"Unison: a new distributed programming language" by Paul Chiusano
Strange Loop ConferenceYouTube ↗
Further reading 2
Can two versions coexist under the same name? →A module name can force a choice between versions. Identifying content by its hash gives each version a separate address.Can libraries grow a language? →If libraries can express new abstractions in ordinary code, the core language can grow through its users. Compare the facilities needed to make those extensions feel native.
Caption notes
Unison identifies definitions by content hash rather than name. This makes renaming safer and allows code, dependencies and previous checks to be reused.
Original passages · 7
this doesn't actually break anyone's code including like our downstream library usersthey are by definition going to be deterministicallow as many different versions of the same library in our code basethat hash that sort of gives us this nice efficient dynamic deployment protocoldistributed programming should just be a library so we don'tdefinitions not by their name but by a hashdistributed programming should just be a library