eliminate variable name requirement from query()
[scpubgit/DKit.git] / lib / DX / Solver.pm
index 6626840..6300b23 100644 (file)
@@ -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