Timeline for ShearingTransform and Dynamic
Current License: CC BY-SA 3.0
16 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 11, 2012 at 16:38 | history | edited | Brett Champion | CC BY-SA 3.0 |
formatting, punctuation, typo
|
Jun 3, 2012 at 2:16 | history | tweeted | twitter.com/#!/StackMma/status/209106159188180993 | ||
Jun 1, 2012 at 10:47 | vote | accept | nilo de roock | ||
Jun 1, 2012 at 10:46 | vote | accept | nilo de roock | ||
Jun 1, 2012 at 10:46 | |||||
Jun 1, 2012 at 8:01 | answer | added | John Fultz | timeline score: 20 | |
May 31, 2012 at 20:36 | vote | accept | nilo de roock | ||
Jun 1, 2012 at 10:46 | |||||
May 31, 2012 at 20:33 | comment | added | Leonid Shifrin | @Szabolcs Here is one. There was a larger one, but it disappeared from the web somehow. | |
May 31, 2012 at 20:30 | comment | added | Szabolcs | @Leonid If you find them, do post a link please. | |
May 31, 2012 at 20:28 | comment | added | Leonid Shifrin | @Szabolcs I think I have already run into this issue a couple of times before, and also recall that there were some related discussions on Mathgroup. | |
May 31, 2012 at 20:11 | comment | added | Szabolcs |
@Leonid It seems just mentioning b changes the behaviour: you could use (a = #; b) & as the second arg in Dynamic ---it's enough to "fix" it.
|
|
May 31, 2012 at 20:01 | comment | added | Leonid Shifrin |
@Szabolcs The effects you describe are likely due to caching. Try this, for instance: DynamicModule[{a, b}, b := f[a]; {Slider[Dynamic[a, (a = #; Update[Unevaluated[b]]) &], {0, 1}], Dynamic[a], Dynamic[b]}]
|
|
May 31, 2012 at 19:50 | comment | added | Szabolcs |
It probably has to do something with how DynamicModule variables are owned by the Front End and not the kernel. Also note that when using Module (making the variables be owned by the kernel), the example seems to work.
|
|
May 31, 2012 at 19:49 | comment | added | Szabolcs |
And here's another one, analogous to Leonid's example, which does appear to work at first: DynamicModule[{a, b}, b := f[a]; {Slider[Dynamic[a], {0, 1}], Dynamic[a], Dynamic[b, TrackedSymbols -> {a}]}, Initialization :> (a = 0.4444) ] . But now try this for both versions: select the output and press Ctrl-Shift-I to convert to InputForm and see what's in the DynamicModule . Now convert back to StandardForm (Ctrl-Shift-N), and see again what happens. Leonid's version got "broken" while the first version picked up a value for b but b still won't update.
|
|
May 31, 2012 at 19:43 | comment | added | Szabolcs |
Fixing it is one thing, but understanding why exactly it doesn't work is more interesting. Here's another example which I don't understand completely right now: DynamicModule[{a, b}, b := f[a]; {Slider[Dynamic[a], {0, 1}], Dynamic[a], Dynamic[b, TrackedSymbols -> {a}]} ] (f is an inert head here)
|
|
May 31, 2012 at 19:37 | answer | added | Leonid Shifrin | timeline score: 5 | |
May 31, 2012 at 18:58 | history | asked | nilo de roock | CC BY-SA 3.0 |