State Transitions in Complex Systems (bobkonf2023)

Published: March 17, 2023, 11:35 a.m.

In systems whose state consists of a non-trivial number of separate\nbut related pieces, updating this state in a way that keeps everything\ncoherent requires some discipline. In extensible systems, where the\ndifferent pieces may not even be aware of each other, this becomes\neven more challenging.\n\nA good example of such a system is a modular code editor. It involves\na number of constantly-changing pieces of state (the document,\nselection, scroll position, and so on) and a lot of non-core state\nintimately entangled with those (syntax highlighting, linting,\ncompletion), and possibly with each other.\n\nThis presentation discusses the set of principles we arrived at in\ndesigning such an editor (), and\ncompares it to the more traditional event-style architectures. The\neditor uses persistent state values and first-class transactions, both\nof them extensible by 3rd-party code, to make it straightforward by\nconstruction to keep the zoo of interdependent data involved in a\nfull-featured editor coherent.\n\t\nabout this event: https://bobkonf.de/2023/haverbeke.html