bodil / purescript-signal

Elm style FRP library for PureScript
Apache License 2.0
258 stars 44 forks source link

Unnecessary recalculation? #44

Open jazmit opened 8 years ago

jazmit commented 8 years ago

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?

bodil commented 8 years ago

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.

comonoid commented 7 years ago

It would be nice to implement it!

bodil commented 7 years ago

Pull requests still welcome.