2 use Module::Runtime qw(use_module);
3 use DX::Utils qw(dict deparse);
6 BEGIN { *u = \&use_module }
8 my $scope = u('DX::Scope')->new(
11 $_ => u('DX::Predicate::'.join('', map ucfirst, split '_', $_))->new
12 ), qw(eq member_at is_dict)
18 my $exp = u('DX::Expander')->new;
20 my $tcl = u('Tcl')->new;
22 foreach my $pred (keys %{$scope->predicates}) {
23 $tcl->CreateCommand($pred => sub {
24 my (undef, undef, undef, @args) = @_;
25 Dwarn [ $pred, $exp->expand_args(@args) ];
29 my $rl = u('Caroline')->new;
31 while (my $line = $rl->readline('$ ')) {
35 warn "Eval error: $_";
37 $rl->history_add($line);