--- Richard Jelinek wrote:
On Sun, Jan 30, 2005 at 03:43:59AM -0800, Salvador FandiÅ„o wrote:
Do you know about my modules Language::Prolog::Yaspi and
Language::XSB?, they are Perl interfaces to SWI-Prolog and XSB
respectively. If you are implementing AI::Prolog for fun,
is ok, but if you plan to use Prolog from Perl seriously I thing that
my modules are a better option.
(What follows is not about XSB as I have never used it.)
Salvador, I've done quite a bit of research on Prolog alternatives in
Perl and I am familiar with Language::Prolog::Yaswi
(http://use.perl.org/~Ovid/journal/22708). I came to the conclusion
that this module was the best available (that I could find), but there
were some problems with it.
1. It doesn't compile with the latest version of SWI-Prolog, I had to
drop down to the 5.2 series.
2. Compiling 5.2.X SWI-Prolog with --enable-mt failed entirely on my
Mac OS X.
3. The README states very clearly that "very early alpha release and
lots of bugs should be expected."
There were some other issues, but those were the big ones. Since this
project doesn't appear to have been touched for two years and (with all
due respect) since you didn't respond to my email inquiries, I
concluded that Language::Prolog::Yaswi was a dead project.
Don't get me wrong, Salvador, I think you've done some fantastic work
with it, but I want to truly be able to take advantage of logic
programming in Perl and I can't do that with a distribution I can't
recommend to others. I'd love to see more work on the project (tests,
docs, interface, compile with latest version, etc.)
I'm sure Ovid is oriented on CPAN. ;-) As for "the better
It depends. Of course, SWI-Prolog is currently one of the best
for doing Prolog, and a seamless (sic!) integration between this and
(back and forth) - if it existed - is a very good option.
However, it certainly does increase complexity of deployment and
maintenance a "final" application.
Richard, yes, these are problems. Not everyone would want an external
dependency on SWI-Prolog, but if they really wanted or needed logic
programming for some project, I could see them using
My pure Perl version is intended primarily as a proof of concept with
the long-term goal being porting the engine to C for performance
reasons. Running at 1000 LIPs is atrocious (and we won't even begin to
discuss memory requirements of Perl data structures.) This will not be
as feature rich as Yaswi, but it would definitely be easier to install
Why am I babbling here? We currently do evaluate the available
alternatives to enhance the inductive, deductive and abductive
capabilities of our semantic inference engine. Unfortunately none of
the alternatives available is yet suited for commercial-grade (sorry)
So in a Nutshell: I still do not see "the better option" and the race
is IMHO open.
Richard, out of curiosity, is the main objection to Yaswi the
interface, the external dependencies or something else altogether?
If this message is a response to a question on a mailing list, please send
follow up questions to the list.
Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/