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.
    • Comment on Expert Systems in Perl : (kywd: Rules-based Perl)