anyone here bullish on state machine stuff? I want...
# thinking-together
d
anyone here bullish on state machine stuff? I want to be indoctrinated
g
me.
g
yeah here's a solid video:

https://youtu.be/RqTxtOXcv8Y

👍 3
m
peep Hillel Wayne's blog posts (eg https://www.hillelwayne.com/post/formally-specifying-uis/) and sketch.systems
👍 2
but am interested in others' recs
b
Nice. I’ve been wondering – are state machines / state charts a category? They seem perhaps good for modelling session type like ideas too? And generally, all sorts of concurrent behaviour.
s
There's a whole community for that! https://spectrum.chat/statecharts/general?tab=posts
b
For clarification, I mean “category” in the mathematical sense, rather than “a subject / topic”! :-)
d
@Garth Goldwater I had just watched a different talk of his prior to making my post 😛 I'll look at this one too @Max Krieger That's where I first found out about them, actually. @stevekrouse Neat. Thanks. I will seek indoctrination
m
d
I wanted to add, in particular, why I'm surprised I don't see people on here talking about this more often. It seems to me that statecharts are showing completely essential complexity. Make a statechart for a GUI -- can it be reduced whatsoever? They're also intuitive to read for even non-programmers
Wouldn't it be ideal to make an app directly from a statechart? (xstate sorta does this?
p
@Benjohn Barnes Statecharts are hypergraphs with a single edge potentially leading on to multiple states. So its a generalization of a graph which I think can be partitioned to get a lattice of possible states. @Deklan Webster I have the same hunch too, I might report back in this early next year. Have a few systems to be built in this paradigm lined up. An open question I think is on how to do scheduling and other complex patterns on top of statecharts.
s
Some future of coding projects with statecharts: http://interstate.from.so/ http://web.media.mit.edu/~jacobsj/#db
👍 3
b
@Deklan Webster Definitely agree they seem to “cut to the chase” of a lot of essential complexity allowing enormous removal of accidental complexity.
p
@stevekrouse Nice find on that dynamic brush tool. Do you know of any art tools/environments that use FRP paradigm in a similar manner (apart from Conal's work) ? I am constantly finding state machines to be the dual (duel?) of FRP paradigm in that they do localized reasoning of discrete events while FRP deals with global reasoning of continuous intervals.
s
There are many, many flavors of FRP, some of which are pull, some of which are push, and some of which as push-pull. Certain flavors of FRP is about global reasoning, but the original flavor was about local reasoning, and both continuous and discrete entities. Here's an example of a JS FRP library in the Conal style: https://github.com/funkia/turbine
p
@stevekrouse Knew I coupled something wrongly there. Would this stand up to scrutiny if I change the bottom axis to Transformative / Reactive? About the continuous vs. discrete dichotomy, I think continuity is a superset of discrete, so that subsumes considerations for discrete ones. And can't wrap my head around why FRP in the original version was about localized reasoing, which reminds me that I should read your FRP paper again.
d
I have actually been wondering how to relate FRP (or just RP) to statecharts...
s
I don't understand what the Transformative / Reactive would stand for
Yeah the local reasoning is what this paper is trying to explain: https://futureofcoding.org/papers/comprehensible-frp/
d
@stevekrouse I presume dataflow in pull (transform) or push (react)?
p
@stevekrouse Coopted that dichotomy from the original Statecharts paper by Harel:
@stevekrouse And yeah, lucid accessible exposition that one. Wish there was more like this about other computing topics online. Thanks for that one!
m
Resurrecting this thread because I just remembered a paper my mentors wrote http://www.cs.cmu.edu/~aldrich/papers/onward2009-state.pdf
❤️ 1
essentially: "what if objects could only justify their existence by a matching state?"