Incremental.ExpertA low-level, experimental interface to incremental. This is useful when you need more control over the dependency graph, for performance reasons. It comes at the cost that it's much harder to use right. Specifically, here is what you can do with an expert node:
If you use this interface, you are most definitely advised to test carefully, and in particular you should try it out using incremental_debug, which is going to check most pre-conditions.
module Dependency : sig ... endmodule Node : sig ... endmodule Step_result : sig ... endval do_one_step_of_stabilize : _ State.t -> Step_result.tdo_one_step_of_stabilize state runs a part of stabilization. This can be used as a replacement for stabilize, to split up potentially long calls to stabilize.
A stabilization is ongoing until do_one_step_of_stabilize returns Done. During such a stabilization, behavior is the same as during a regular stabilization.
Calling do_one_step_of_stabilize during a call to do_one_step_of_stabilize or stabilize is a programming error but it is not detected. Behavior is undefined.