StateException
The state a branch transitions into whenever resolution raises a ResolutionException: for a LogicError, it looks for an enclosing catch/3 goal along ConcurrentExecutionContext.pathToRoot that unifies with the error, and either resumes the branch inside the catcher's recovery goal (StateGoalSelection), or propagates the exception one level up towards the parent context (recursing into another StateException); any other ResolutionException (or a LogicError that reaches an unhandled ConcurrentExecutionContext.isRoot) ends the branch in a StateHalt.
Properties
The execution context this state operates on.
The exception this state needs to propagate/handle.
Whether this state is a terminal one for the current branch, i.e. an EndState.
Functions
This state as an EndState, or null if isEndState is false.
This state as an EndState.
Computes every state this branch may transition into from here, one per alternative (matching clause, disjunct, primitive solution, ...) available at this point; empty only for EndStates. Each element is meant to be explored independently (and, in :solve-concurrent's solver, concurrently) of the others.