Hacker News Comments on
"Unison: a new distributed programming language" by Paul Chiusano
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this video.
I recently came across Unison through YouTube recommending me a series of videos from the "Strange Loop" channel . The fundamental idea of uniquely addressing functions based on a hash of their AST is mind-blowing to me. Immediately my mind started to consider many of the possible paths such an idea could lead down, many of which are clearly tickling the minds of many of the commenters in this thread.
My first thought was the same insight from von Neumann architectures: code is data. So I thought of package repositories with URLs corresponding to hashes of function definitions. http://unison.repo/b89eaac7e61417341b710b727768294d0e6a277b could represent a specific function. A process/server could spin up completely dumb other than bootstrapped with the language and an ability to download necessary functions. You could seed it with a hash url pointer to the root algorithm to employ and a hash url to the data to run against and it could download all of it's dependencies then run. I imagine once such a repo was up and running you could do something like a co-routine like call and that entire process just happens in the background either on a separate thread or even scheduled to an entirely different machine in a cluster. You could then memoize that process such that the result of running repo-hash-url against data-hash-url is cached.
There's an example in this talk: https://youtu.be/gCWtkvDQ2ZI?t=1903
Basically you can quote code (like in Lisp) and pass it to an executor (thread, remote server, ...).
The main difference is that thanks to the immutability, you can also have a protocol which shares efficiently all the dependencies required to execute the code (like a git pull).
It also uses an effect system, so the implementation does not need to decide which executor to use, it only uses an interface called an "ability", and the caller can choose the implementation.
For a good introduction, watch this talk at 1.5x speed from 2:50 to 5:40
"Unison: a new distributed programming language" by Paul Chiusano 
⬐ the_dukeThis talk highlights the benefits and interesting features of Unison much better than the docs.
Highly recommended.⬐ capablewebThe video is from Sep 15, 2019 and still more useful than their website? Anyone have a transcript to link?