I have uploaded AI::Prolog 0.02 and it should be hitting the CPAN soon. If you know Prolog, there's enough there to get you started including an examples/ directory showing its use. If you don't know Prolog, it points you to Michael Barták's Guide to Prolog Programming. It's an easy language to learn, though a tough one to master.
Eventually the interface will allow something like this:
use AI::Prolog
functors => [qw/append/],
vars => [qw/W X Y Z/],
import => 1; # imports builtins like HEAD(X)
my $logic = AI::Logic->new;
$logic->assert(
append([], X, X),
append([HEAD(W),X],Y,[HEAD(W),Z])
->IF(append(X,Y,Z))
);
$logic->query(append(X,Y,[qw/a b c d/]));
while (my $results = $logic->next) {
my $x = $results->X;
my $y = $results->Y;
print "X is [@$x]. Y is [@$y].\n";
}
But that's not going to happen too soon. For the time being, I'll be happy to start knocking off items on the TODO list (such as math.)