When forcing queries, how do we ensure that the query would run at the same time for a clean build? Or if we manage to make queries order independent, how do we ensure that the query would run at all?
I'm not sure I follow
try-mark-green will mark and re-execute things in the order they were recorded during the previous session
is that what you mean?
Dependencies of the current session may be different from the dependencies from the previous one. We may execute queries we wouldn't otherwise do
Maybe executing queries in order and stopping at the first red one takes care of this? Because we'd need to execute a query in order to gain information we can branch on.
So we can't execute queries after the first red one. The information from the red query could be used to change which later queries we would execute.
Yes, we have to stop a the first red dependency - otherwise we'd run into trouble
an early implementation of incr. comp. didn't observe this kind of order (we had hash sets of dependencies) but it ran into problems immediately
I though we did that only because our queries can't currently run in an arbitrary order
I think they can pretty much run in any order, only red-green marking has to take care not to invoke queries that don't make any sense anymore in the new session
well, at least in theory they should be able to run in any order