Stuff with the Perl Foundation. A couple of patches in the Perl core. A few CPAN modules. That about sums it up.
I actually got a lot done on AI::Perlog this weekend. It's brainwrenching, but it now works and, as a curious side-effect, is about twice as fast as it was for binary queries. The bug that I alluded to in a previous entry was the following:
my $pg = AI::Perlog->new;
$pg->add_fact( bizzle => qw/ foo bar baz / );
$pg->add_fact( bizzle => qw/ tic tac toe / );
$pg->bizzle( qw/ foo _ toe / ); # returns true
Clearly, that should not return true, but my original, naive implementation didn't check whether subsequent arguments were dependent on their predecessors. Now, it's just a simple query inside the module:
if ($self->{_arg_pos}{$predicate}[$pos1]{$arg1}[$pos2]{$arg2}) {
Ugh. That's nasty. On the other hand, it's lightning fast so long as you don't have so many facts that you eat up all of your memory. I'm becoming convinced that I am developing something that no one else is going to be able to work on, though the interface is fairly easy to use.
Post it to CPAN !!! (Score:1)
Please post it on CPAN fo we can all play with it...
Moreover
Not much to post, really... (Score:3, Interesting)
Currently, I only have a modest module with no real functionality beyond what I have described. I would like to post it to the CPAN, but only after there's enough there for it to be useful. If you absolutely have to play with it (and stroke my little ego), you can download it from my site [easystreet.com]. The documentation is minimal and I wouldn't even consider this alpha quality code.
If you want to see what it does, you'll have to read the tests. If you want to see how it does it, you're crazy :) -- though it's not