resume_step => undef,
);
}
+ trace 'search.backtrack.alt' => $alt_step;
$step = $alt_step;
}
($hyp, $step) = @{shift(@alt)||[]};
+ trace 'search.backtrack.rewind_to' => $step;
}
return undef;
}
while ($state and @{$state->current_hypothesis->outstanding_propositions}) {
$state = $state->with_one_step;
}
+ trace 'search.solution.hyp' => $state->current_hypothesis if $state;
return $state;
}
my ($self) = @_;
my ($first_alt, @rest_alt) = @{$self->alternatives};
return undef unless $first_alt;
- trace 'search.backtrack' => $first_alt->[0];
+ trace 'search.backtrack.forced' => $first_alt->[0];
return ref($self)->new(
current_hypothesis => $first_alt->[0],
resume_step => $first_alt->[1],