Yeah, I’ve been recently pondering the implications of type directed metaprogramming + structured editing, and it makes my head explode! No idea how to render a program once your types break 😬
1
1
This Tweet is from a suspended account. Learn more
Like, I’d like a fancy interactive literal, but it seems like bad UX to explode and dump out an s-expression if somebody upstream updates the underlying library, and there’s no way to help migrate. 🤔
Yeah, we've been thinking about interactive literals. The question of what to do when a definition changes out is an interesting one. Our solution is to put it in an "invalid state" hole, but that doesn't actually help you migrate the state (you can only "reset" at that point).
We're also very much thinking about version control / collaborative editing, but rather than doing it with diffs we just record the actual actions that were performed and then establish a commutativity property (that's the hard part.)