$state = $state->with_one_step;
}
return undef unless $state;
- trace 'search.solution.hyp' => $state->current_hypothesis;
return $self->but(current_search_state => $state);
}
my ($self) = @_;
my ($first_alt, @rest_alt) = @{$self->alternatives};
return undef unless $first_alt;
- trace 'search.backtrack.forced' => $first_alt->[0];
return $self->but(
next_step => DX::Step::Backtrack->new,
)->with_one_step;
my ($self, $ss) = @_;
my ($first_alt, @rest_alt) = @{$ss->alternatives};
return $ss->but(next_step => $ss->on_exhaustion_step) unless $first_alt;
- trace 'search.backtrack.rewind_to' => $first_alt->[1];
return $ss->but(
current_hypothesis => $first_alt->[0],
alternatives => \@rest_alt,
? $self->but(proposition_list => \@rest)
: $self->on_completion_step);
- trace 'step.recheck.hyp' => $hyp;
-
my $ss = DX::SearchState->new(
current_hypothesis => $hyp,
alternatives => [],