Too much Twitter has distracted me from this blog. I even forgot to mention my last paper: Live & Local Schema Change: Challenge Problems, with Tomas Petricek and Tijs van den Storm.
Schema change is an unsolved problem in both live programming and local-first software. We include in schema change any change to the expected shape of data, whether that is expressed explicitly in a database schema or type system, or whether those expectations are implicit in the behavior of the code. Schema changes during live programming can create a mismatch between the code and data in the running environment. Similarly, schema changes in local-first programming can create mismatches between data in different replicas, and between data in a replica and the code colocated with it. In all of these situations the problem of schema change is to migrate or translate existing data in coordination with changes to the code. This paper contributes a set of concrete scenarios involving schema change that are offered as challenge problems to the live programming and local-first communities. We hope that these problems will spur progress by providing concrete objectives and a basis for comparing alternative solutions.
If you have any other good examples of schema change problems please let us know.
Hi Jonathan,
Sam’s work on Scuemata talks about schema migration in the conf language domain.
https://2021.splashcon.org/details/conflang-2021-papers/2/Scuemata-A-Framework-for-Evolvable-Composable-Data-Schema
Thanks Gary, looks relevant.