4 ms·
There's an example in this talk: https://youtu.be/gCWtkvDQ2ZI?t=1903 https://youtu.be/gCWtkvDQ2ZI?t=1903 Basically you can quote code (like in Lisp) and pass i
by tracnar 7y ago
There's an example in this talk:
https://youtu.be/gCWtkvDQ2ZI?t=1903 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.