Subject: RE: [SWIPL] Q: Meta-Interpreter for Bottom-Up eval of Datalog+Neg ? Tabling plans for SWI?

From: "Douglas R. Miles" <[email-masked]>
Date: Wed, 31 Oct 2001 05:07:35 -0800

I would love to see a all prolog version of tabling (aka memoization)
partially so I can understand it better.  Whether it is effecient or not.
XSB has both subsumtive and variant tabling and each is better at different
types of problems.  But I tried using XSB for a very large project
(DAML/RKF/HPKB) with thousands of KIF rules and over one hundred thousand
ground facts.  I found howerever XSB maxed out at only 12 megs of data..
less then 2% of the data of the core testing suite.. I spent about four
months trying to partition down and spred between piped XSB subcontexts..
wow I am glad we are ussing SWI now!  XSB has some very tough memory and
term complexity/depth limits that I don't see going away any time soon.  I
also tried to use their features like Hilog (non-determ functor replacement)
and found it broke down combinatoricly into bug exposure after the next.
Implimenting an RDF parser for XSB is possible (charicter based DCG), but
you cannot construct lists longer then 255 terms.  Once you did parse the
data , your terms may be too deep or jagged for XSB to use, especially in a
tabling context.  The worse part with using XSB is most of it's features are
only available at consult time. (Means your program must first create the
data you want into a file then consult it in) 

The closest I could get to the needs of the project (logical negation and
occurs checking) was implenmenting in SWI a very specialized version of
something simular to what PTTP does but on a meta-interpretation level
instead of creating clauses to be asserted.  The thing I have learned, is
one should give up the notion that prolog is an inference language itself
but instead a programing language that simplifies the process of
creating/implimenting a complex and usefull inference language/engine. 

An all prolog version of tabling or some data-space attached to prolog
clauses like (enable disable/delay evaluation/table complete/incomplete)
would be nice to see.  

-Doulgas

-----Original Message-----
From: Wolfram Conen [mailto:[email-masked]]
Sent: Wednesday, October 31, 2001 1:46 AM
To: [email-masked]
Subject: [SWIPL] Q: Meta-Interpreter for Bottom-Up eval of Datalog+Neg?
Tabling plans for SWI?

Hello out there!

Allow the following 3 questions. I would appreciate any answer/hint.

(1) I am looking for a simple meta-interpreter implementing bottom-up
evaluation of "pure" datalog (w/ negation)

(2) Jan, do you have any plans to implement TABLING sooner or later?

(3) Would it be straightforward to port the SGML/RDF parser to XSB
(libwww, brrr... ;) or would that require much effort?

Best regards,
	Wolfram
	[email-masked]

----------------
* To UNSUBSCRIBE, please use the HTML form at

    http://www.swi.psy.uva.nl/projects/SWI-Prolog/index.html#mailinglist

or send mail to [email-masked] using the Subject:
"unsubscribe"
(without the quotes) and *no* message body.

** An ARCHIVE of this list is maintained at

    http://www.swi.psy.uva.nl/projects/SWI-Prolog/mailinglist/archive/