X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FSolver.pm;h=6300b23698126923dca548e80e9a1bc3a63d8c9f;hb=7d384ecaab6d7440b19924dd45040a01345b4392;hp=6626840155489b3d9cd824c94b67c9106dc5392e;hpb=a5c3a0416ea340dfaa9d9f83fa1a8bf9065766af;p=scpubgit%2FDKit.git diff --git a/lib/DX/Solver.pm b/lib/DX/Solver.pm index 6626840..6300b23 100644 --- a/lib/DX/Solver.pm +++ b/lib/DX/Solver.pm @@ -19,10 +19,9 @@ has facts => (is => 'ro', default => sub { {} }); has observation_policy => (is => 'ro'); sub query { - my ($self, $vars, @terms) = @_; + my ($self, @terms) = @_; my $rule_set = $self->rule_set; - push @terms, map +[ materialize => $_ ], @$vars; - my $head = $rule_set->expand_and_link(undef, @terms); + my $head = $rule_set->expand_and_link(undef, @terms, [ 'materialize' ]); my $state = DX::State->new( next_op => $head, return_stack => [], @@ -31,7 +30,7 @@ sub query { last_choice => [], facts => $self->facts, rule_set => $rule_set, - )->assign_vars(map +($_ => {}), @$vars); + ); return DX::ResultStream->new( for_state => $state, ($self->observation_policy