So, I recently wrote
AI::Proplog, a propositional logic engine for Perl. And all day yesterday, I began to ruminate over writing the engines for predicate and functional logic because I realized that neither engine is any more powerful or expressive than a bunch of objects which have conditional code within them.
So, I began to contemplate writing a paper called AI::Prolog::DontBother and kept reading on AI. Then I realized that what was really needed was a rules-based system that was flexible enough to accomodate the way that Perl did things.
It turns out that two people have already done bindings for a very popular and well-established rules-system, called
CLIPS
PerlClips - SWIG'ed for 5.005 though
CAPE This is a "programming world" in which Perl and CLIPS talk to each other, share data and synchronize data, mainly via sockets.