Instrument top-down with tracing events
These changes update the top-down implementation to emit tracing events at certain times. Specifically: 1. Emit eval/fail/redo events for expression evaluation. When an expression fails to evaluate to true, emit a fail event. When an expression may be retried with different term bindings, emit a redo event. 2. Emit enter/exit/redo events for rule/query evaluation. When a rule/query evaluates successfully, emit an exit event. When a rule/query may be retried, emit a redo event. The test cases are intended to verify that events are emitted at certain points as described above.
T
Torin Sandall committed
700d73097edff31038d14c53437f90e24dbb5c32
Parent: 04393df