reagent

sansarip 2023-02-24T17:21:09.112979Z

It seems recently “signals” have become a hot topic in the mainstream frontend ecosystem! At a glance, they don’t conceptually seem too different from good ol’ ratoms? Can someone help me understand if there is a significant difference?

lilactown 2023-02-24T20:13:46.071239Z

I think that there's some differences between the modern signals libraries and reagent, mainly how they handle side effects

lilactown 2023-02-24T20:16:45.379429Z

reagent doesn't have a clean delineation between a reaction that is for side effects and a reaction that is meant for calculation. that makes it hard to manage the different graphs that you may want to create

lilactown 2023-02-24T20:18:06.529929Z

e.g. solid has a "signal" graph, which allows you to create spreadsheet-like reactive computations, and also an "effect" graph which allows you to create nested, disposable side effects. this allows solid to replace the typical "component lifecycle" with "effect lifecycle" and remove the VDOM that React uses to keep track of components

sansarip 2023-02-24T21:36:20.345419Z

Ahhh, gotcha! Seems similarish to re-frame from that description minus the stuff about lifecycles/VDOM!

lilactown 2023-02-25T03:03:05.729619Z

re-frame uses some of the same words but "effects" in reactive signals are very different conceptually than effects in re-frame

Chase 2023-02-25T17:55:52.176299Z

There are some clojurescript folks exploring these "signals" and their respective js libraries too if you want to see how they are approaching it. https://www.reddit.com/r/Clojure/comments/10ywila/clojurescript_bindings_to_solidjs/

🔍 1
Chase 2023-02-25T17:56:05.749749Z

Haha, it seems one of those folks mentioned in that thread is you, @lilactown

🎉 1