# Dynamic and TrackedSymbols

Consider

Column[{
Slider[Dynamic[x]],
Dynamic[x;RandomReal[]],
Dynamic[RandomReal[], TrackedSymbols:>{x}]
}]


I expected that both dynamics would update when I move the slider, but only the first one does. Refresh inside the second Dynamic does not help.

I have the vague feeling that I have seen this before, but at the moment I have no idea why the second dynamic does not update. Can someone help me?

• I think I’ve seen this before too, but am on a phone and can’t conveniently search. Basically it’s because the last Dynamic[] has no dependency on x and TrackedSymbols does not create a dependency but will restrict it. Look up DynamicExpression[] maybe – Michael E2 Apr 28 at 20:17
• Just insert x; to force it to track with TrackedSymbols. It’s got to do with how InternalTrackExpression or whatever that one is called operates. TrackedSymbols can basically only restrict is how I think about it. – b3m2a1 Apr 28 at 20:59
• Column[{Slider[Dynamic[x]], Dynamic[x; RandomReal[]],Dynamic[x; RandomReal[]]}]` – MelaGo Apr 28 at 22:01