logoalt Hacker News

mananaysiempretoday at 9:41 AM1 replyview on HN

I wrote a whole screed here about how glitches are evil and Rx is evil for teaching people they’re normal, but then I thought about it a bit more—

The system as described isn’t actually glitchy, is it? It doesn’t eagerly run any user computations, just dirtying, and that is idempotent so the order is irrelevant. It’s also a bit useless because it only allows you to pull out values of your own initiative, not subscribe to them, but that’s fixable by notifying all subscribers after the dirtying is done, which can’t cause glitches (unless the subscribers violate the rules of the game by triggering more signals).

So now I’m confused whether all the fiddly priority-queue needlepoint is actually needed for anything but the ability to avoid recomputation when an intermediate node decides it doesn’t want to change its output despite a change in one of its inputs. I remember the priority queue being one of the biggest performance killers in Sodium, so that can’t be it, right?..

I’m also confused about whether push-pull as TFA understands it has much to do with Conal Elliott’s definition. I don’t think it does? I feel like I need to reread the paper again.

Also also, some mention of weak references would probably be warranted.


Replies

mpweihertoday at 12:33 PM

> whether push-pull as TFA understands it has much to do with Conal Elliott’s definition.

Virtually nothing that is getting sold/branded as "FRP" has anything to do with Conal Eliott's definition.

I once gave a long talk about this here in Berlin, but I don't remember if there was a video.

I've also explained it on twitter a bunch of times, including this memorable sequence:

https://x.com/mpweiher/status/1353716926325915648

Kinda like the Marshall McLuhan scene in Annie Hall ("if only real life were like this")

https://www.youtube.com/watch?t=136&v=sXJ8tKRlW3E