Timed_compat.TimeSourceThe Time module provides an abstract representation of time, used to set a point from which (monitored) updates to references are recorded to allow undoing/redoing the corresponding changes.
Point in the “timeline” of the program's execution.
save () registers the position of the program in its “timeline”. The returned value can then be used to “time-travel” toward this point, by calling restore. The saving operation runs in constant time. In the process one block of memory of three words is allocated. Note that two consecutive calls to save (i.e., with no interleaved (:=) or restore) return the same value, and the second one does not allocate any memory.
restore t has the effect of “traveling in time” towards a previously recorded point t. After calling this function, (monitored) reference updates made between t and the “current time” are undone. Note that the time and memory complexity of this function is proportional to the number of (monitored) updates between t and the current time.