
Show HN: The Flux Challenge in 139 Lines of JS - kennytilton
https://github.com/kennytilton/flux-challenge/blob/master/submissions/kennytilton/README.md
======
asrp
I was previous linked to your Cells library because I'm trying to do something
very similar [1]. Matrix seem to be in a similar vein (at least from the
sample usage here).

Could you tell me if any of your libraries allow live editing of formulas?
(Adding new ones, editing existing ones and deleting some.) If yes, do the new
input (cI) need to be declare manually?

I've also seen these slides [2] in your repo. Can you say a bit about the
solution to "The Glitch"? As you've noted there, topological sort isn't enough
if there are conditionals.

I also couldn't tell what "Glitches and RoboCup Sim" was about from just the
PDF.

Finally, when using a cells-like library, do you get "discontinuous jumps"
when cells are no longer suitable (or the network becomes too complicated) and
fallback to imperative callbacks? Or do you manage to used cells for
everything?

[1]
[https://github.com/asrp/persistent_doc](https://github.com/asrp/persistent_doc)
[https://github.com/asrp/guitktk](https://github.com/asrp/guitktk)

[2] [https://github.com/kennytilton/cells/blob/master/Lisp-
NYC-20...](https://github.com/kennytilton/cells/blob/master/Lisp-
NYC-2018-02v1.pdf)

------
kennytilton
The Flux Challenge is "tailored to touch Flux's weakest spots", especially
"coordinating multiple async data sources", so Flux solutions are sought, but
other approaches to state management are welcome.

The Challenge author used his own reactive framework and RxJS:
[https://cycle.js.org/](https://cycle.js.org/) [https://github.com/Reactive-
Extensions/RxJS](https://github.com/Reactive-Extensions/RxJS)

My solution leverages my Matrix data flow library (versions in Common Lisp,
CLJ/S, and JS). Matrix is much like the JS MobX, if you know that.

[https://github.com/kennytilton/matrix](https://github.com/kennytilton/matrix)
[https://mobx.js.org/index.html](https://mobx.js.org/index.html)

Moral: The data flow paradigm is well-suited to smoothly absorbing external
input, so the async feeds of the Flux Challenge are right in the data flow
wheelhouse.

