has actions => (is => 'ro', isa => ArrayRef[Action], required => 1);
-#has depends_on => (is => 'ro', isa => DependencyGroupList, required => 1);
-
-has depends_on => (is => 'ro', required => 1, coerce => sub {
- my ($dep_groups) = @_;
- my @exp;
- assert_DependencyGroupList $dep_groups;
- [ map {
- my ($on, @deps) = @$_;
- my @exp;
- DEP: foreach my $dep (@deps) {
- my ($type, @path) = @$dep;
- push @exp, [
- $type,
- map { ref() ? @{$_->identity_path or next DEP} : $_ } @path
- ];
- }
- (@exp ? [ $on, @exp ] : ());
- } @$dep_groups ];
-});
+has depends_on => (is => 'ro', isa => ArrayRef[DependencySpec], required => 1);
has resolves => (is => 'ro', isa => Proposition);
$old_ss->on_solution_step
}
};
- my $alt_step = $self->alternative_step;
my $ss = $old_ss->but(
next_step => $ns,
- ($alt_step
- ? (alternatives => [
- [ $old_ss->current_hypothesis, $alt_step ],
- @{$old_ss->alternatives}
+ (@{$self->actions}
+ ? (adjustments_made => [
+ [ $self, $old_ss ],
+ @{$old_ss->adjustments_made}
])
: ()
),