If you don't intend turning into something prolog like then perhaps: Math::Predicate Math::PredicateLogic
Otherwise something like Language::Prolog... would be reasonable. But have you looked at and/or offered to help develop this on? http://search-beta.cpan.org/author/LGODDARD/Language-Prolog-Interpreter-0.021/Interpreter.pm Tim. On Sat, Jul 27, 2002 at 04:49:13AM -0600, Luke Palmer wrote: > I'd like assistance in naming a module that I'm working on. It's a > basic predicate logic solver (like prolog, but easier to access through > perl and not as full-featured). I call it Logic now, but I'd like to know > where to put it in the tree. I would use Language::Prolog, except it is > pre-pre-pre-alpha and doesn't do anything. > > A sample use: (also some suggestions on the names or usage of these > functions?) > > $logic = new Logic; > $logic->parse( 'door(a, b)' ); > $logic->parse( 'door(a, c)' ); > $logic->parse( 'door(b, c)' ); > > #Find doors from a to some place X > $query = $logic->parse( 'door(a, X)?' ); > > #Find first one > $pad = $logic->match( $query ); > $pad and print "Door from a to $pad->{X}\n"; > > #Find next one > $pad = $logic->match( $query, $pad ); > > # ... et cetera > > > Thanks, > Luke >