expressions are eagerly evaluated against scope, contains are late-evaluated
I'm not yet sure if this is the Right Thing™
By now we've encountered enough bugs due to this decision that I can conclusively say this is the Wrong Thing™ to do. We arguments that are evaluated as they change. For example:
Looping over a boolean variable only works if we notice when the variable changes to false.
Changing values in the blocks should be reflected in running code so you can play interactively with it.
There is a line in
blocks.js
:By now we've encountered enough bugs due to this decision that I can conclusively say this is the Wrong Thing™ to do. We arguments that are evaluated as they change. For example:
false
.