Some related work includes operational transformation (<a href="https://en.wikipedia.org/wiki/Operational_transformation" rel="nofollow">https://en.wikipedia.org/wiki/Operational_transformation</a>), and Darcs' patch theory (<a href="https://en.wikibooks.org/wiki/Understanding_Darcs/Patch_theory" rel="nofollow">https://en.wikibooks.org/wiki/Understanding_Darcs/Patch_theo...</a>).
Neil Fraser went on to apply this work at Google with Google Docs (Operational Transformation, see other comment here).<p>He was also one of my heroes that inspired my work to build a decentralized (and offline-first) version, that I later applied to graphs with <a href="https://github.com/amark/gun" rel="nofollow">https://github.com/amark/gun</a> .<p>Some good follow ups are:<p>- Martin Kleppmann's <a href="https://youtu.be/yCcWpzY8dIA?t=29m36s" rel="nofollow">https://youtu.be/yCcWpzY8dIA?t=29m36s</a><p>- Cartoon explainer <a href="http://gun.js.org/explainers/school/class.html" rel="nofollow">http://gun.js.org/explainers/school/class.html</a>