I didn't know about Flapjax, thanks I'll check it out. Glitch-freedom is indeed a gap in this article. I focused on the signal algorithm exclusively without some implementation optimisation like batching updates; there is so much more to cover! Maybe in a next one, Thanks!

And before there was "reactive", there were (oneway) dataflow constraints.

And a lot of literature on the algorithms.

I wrote a bit about the connection here:

https://blog.metaobject.com/2014/03/the-siren-call-of-kvo-an...

(It starts in a slightly different place, but gets there)

Also about constraints as an architectural connector.

https://dl.acm.org/doi/10.1145/2889443.2889456?cid=813164912...

Batching isn't just an optimisation, not having transactional semantics can cause bugs.