hvrosen
12/09/2021, 10:39 AMembodiment
and essential state
. Let’s call such a combination a layer
. (Think of state the values
and embodiment as `rendering`/`timers`/`event-handlers` etc).
Here’s the problem it is aimed for solving: State composes perfectly with state, embodiment composes perfectly with embodiment; but _when we mix state and embodiment, complexity explodes exponentially_; we can no more distinguish between them, no more extract and model the state explicitly, visualize it, generate tests based on it etc and for every new part or feature, technical debt is amassed and the complexity quickly skyrockets into levels that not even the most skilled designers and developers can handle.
So back to the really simple idea: Let’s keep it orthogonal; let components be expressed in an orthogonal way, let’s composition propagate orthogonality.
What follows from it? How can we model it; can we being to imagine a Layer Machine
formalism? A layer machine markup language
? Make an enlightening run-time visualization
? Can we implement it, and in how many LOC?; can we use it to explore its PL usability factors along some cognitive dimensions? What new ideas can we form based on that experience?Andrew F
12/10/2021, 12:45 AMNick Smith
12/10/2021, 4:11 AMwtaysom
12/10/2021, 8:24 AMhvrosen
12/10/2021, 9:00 AMhvrosen
12/10/2021, 10:05 AMstatecharts
, and, yes the embodiment can be DOM, concrete UI etc. In stead of Layer machine, just read state machine
or statechart
and assume a composable version of them that covers the whole app instead of leaving a lot to the host language. And in stead of layer machine markup, think HTML, just extended with some new kinds of tags or metatags. I think explicit state modeling as in e.g. statecharts is so great for keeping complexity at bay, and that the biggest thing stopping it from being even more useful is _composability_; thus I find anything that might enhance composability of statecharts/state modeling super exciting! Hope to do a better job of exiting people for that idea the next time! 🙂wtaysom
12/10/2021, 2:45 PMhvrosen
12/10/2021, 3:49 PMstatecharts
, and, yes the embodiment can be DOM, concrete UI etc. In stead of Layer machine, just read state machine
or statechart
and assume a composable version of them that covers the whole app instead of leaving a lot to the host language. I think explicit state modeling as in e.g. statecharts is so great for keeping complexity at bay, and that the biggest thing stopping it from being even more useful is _composability_; thus I find anything that can enhance composability of statecharts is super interesting.Alex Chichigin
01/28/2022, 9:07 AM