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.