3 use Module::Runtime qw(use_module);
4 use DX::Utils qw(:builders deparse);
6 my $ab = use_module('DX::ActionBuilder::UnsetValue')->new(
7 target_path => [ 0, 'X' ]
10 my $scope = use_module('DX::Scope')->new(
12 'eq' => use_module('DX::Predicate::Equals')->new,
13 member_at => use_module('DX::Predicate::MemberAt')->new,
14 is_dict => use_module('DX::Predicate::IsDict')->new,
19 X => use_module('DX::Value::Unset')->new(
20 identity_path => [ 0, 'X' ],
21 action_builder => $ab,
27 my $hyp = use_module('DX::Hypothesis')->new(
29 resolved_propositions => use_module('DX::ResolvedPropositionSet')->new_empty,
30 outstanding_propositions => [
31 proposition(is_dict => 'X'),
32 proposition(member_at => 'X', string('a'), string('b')),
33 #proposition(member_at => 'X', string('a'), string('c')),
34 proposition(eq => 'X', dict(a => string('b'), c => string('d'))),
37 action_policy => use_module('DX::ActionPolicy::Allow')->new
40 my $ss = use_module('DX::SearchState')->new(
41 current_hypothesis => $hyp,
45 #::Dwarn($ss->with_one_step->with_one_step);
46 warn deparse(my $f = $ss->with_one_step->with_one_step->with_one_step);
48 ::Dwarn($f->current_hypothesis->resolved_propositions->dependency_map);