purescript-signal
purescript-signal copied to clipboard
Unnecessary recalculation?
Hi, I'm evaluating several FRP solutions for a large-scale project and have been diving into the source code for this library. First of all, kudos for a great library, it's been working great with the prototypes I've been playing with and I'm greatly enjoying using it.
There's one point I don't understand - in the Elm implementation of FRP, signals pass an 'updated' flag through the signal graph to avoid unnecessary recalculation (see from page 28 in Czaplicki's original paper, and the original implementation of Elm's signals).
However, I can't seem to find this mechanism in the purescript-signal code - the entire signal graph seems to be updated for every input. Is there a reason for this, and would you accept a pull request to add it to the library?
Mostly, this isn't there because nobody's really needed it yet. The PS version of Signal is very much a lazily evaluated port, in that sense. I'd definitely take a pull request.
It would be nice to implement it!
Pull requests still welcome.