Remix.run Logo
aatd86 a day ago

LOL! Gemini suggested to implement this to me literally yesterday: bidirectional computations. The example was that given a temperature in Celsius and Fahrenheit, modifying either of them should update their counterpart. In angular that would be two linked signals for instance, but even that is a bit fringe. Gemini was going for something even more elaborated.

I told Gemini that spreadsheets were actually not doing that and that I had ways to implement that behavior without the complexity.

Just writing that to show the rabbit hole people are going to fall into if they let their llms go brrr. ;D

In any case, the problem is interesting. The point was to include bi-directionality inside a graph of computations so that we didn't get bogged down by cycles. The benefit being that it would handle float precision issues.

My more manual solution expect that floats precision issues are handled explicitly. I think that this level of explicitness is needed anyway for proper floating point error mitigation.

maplethorpe a day ago | parent [-]

That's weird, Gemini told me not to do this.

aatd86 a day ago | parent [-]

To not do what, to not implement a constraint solver for bidirectional formulas? If you input my above comment it is for sure going to weigh the pros and cons. https://gemini.google.com/share/f40bf53d9c21

Excerpt from the initial convo with gemini: Thinking with 3 Pro December 11, 2025 at 09:59 PM

2. Propagators (Constraint Networks)The Problem: Your valueref binder and watch logic handle one-way data flow well. But complex forms (e.g., "Start Date must be before End Date," or "Fahrenheit <-> Celsius") require messy, cyclic event handlers to keep everything in sync.The Academic Concept: Propagators (Alexey Radul / Gerald Sussman, MIT).Instead of functions ($A \rightarrow B$), you define Constraints. A network of constraints seeks a consistent value for all connected nodes. It is "multi-directional" by design.

I see my message above being downvoted, I don't even know why ;D

In the end Gemini did agree that it was not necessary to introduce this level of complexity for my use case.

To be fair, Victor goes further because he adds a solver on top. In the research of a solution that might make sense. The issue in general is that not everything has a reverse operation so, in a sense, it is but an approximation.