If you feed the following into the interactive interface, it'll block (i.e. it won't show anything):
declare A B C inHowever, if you feed it the following:
C=A+B
{Browse C}
A=10It'll display 210 in the browser. It knows that it can't display C until it figures out values for A and B.
B=200
Ok, that's kind of interesting, but it gets weirder! If you feed the following into the interactive interface, it'll show "D" in the browser:
declare D inNow, if you go back and actually bind D to a value:
{Browse D}
D=10It'll change the D to a 10 in the browser. Crazy!


2 comments:
I think I've seen Alice do this sort of thing too.
Seems kind of like a free-form spreadsheet. It knows the dependencies and knows to update the dependent expressions when an input changes.
You should have a peek at verilog or vhdl -- these are event driven modeling languages used in hardware design. This kind of thing is pervasive there.
Post a Comment