Journal entry for
Rather than immediately attempt my own implementation of FRP, I’ve been working on understanding Reflex’ Spider implementation.
I started out with the original code—randomly deleting anything that didn’t seem essential like Incremental
and Dynamic
(because they can be expressed in terms of Event
and Behavior
), but it seems that Dynamic
might be a basic building block of the implementation? Maybe the way behaviors work is actually via something Dynamic-like?
Anyway, I’ve re-copied the whole Reflex implementation and I’m now simplifying with the help of Git.
First I’m deleting all debugging stuff behind the DEBUG*
flags, next I’ll see about deleting some things like fan
which are just optimizations.
I think understanding what “height” is and what the goals of all the “deferral queues” are is a major step in understanding.