485d14b5638da37a3b232f1da366527b0c72136b
[scpubgit/DX.git] / lib / DX / Step / ConsiderProposition.pm
1 package DX::Step::ConsiderProposition;
2
3 use DX::Class;
4
5 with 'DX::Role::Step';
6
7 has proposition => (is => 'ro', isa => Proposition, required => 1);
8
9 sub apply_to {
10   my ($self, $ss) = @_;
11   my $hyp = $ss->current_hypothesis;
12   trace consider => [
13     statement => [
14       [ symbol => 'consider' ],
15       @{$self->proposition->for_deparse->[1]},
16     ],
17   ];
18   return $ss->but(next_step => $self->proposition->resolve_for($hyp->scope));
19 }
20
21 1;