"Unison: a new distributed programming language" by Paul Chiusano
Strange Loop ConferenceYouTube ↗
Further reading 2
What does a module promise its callers? →Try replacing a module whose callers rely on its incidental return order. Start with what the interface says, then trace the decisions it hides and the behaviors people have learned to expect.This video helps answer · Can two versions coexist under the same name?What can a language express, and what can it guarantee? →Factorial can be written without naming the function. That trick raises a harder question: if every program must terminate, can unrestricted recursion be allowed? Take that distinction into slides, libraries and language extensions.This video helps answer · Can libraries grow a language?
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