Article View: comp.lang.prolog
Article #148XOLDT System Available
From: David Scott Warren
Date: Tue, 07 Apr 1992 15:37
Date: Tue, 07 Apr 1992 15:37
108 lines
4350 bytes
4350 bytes
I am announcing the XOLDT meta-interpretation system, an implementation of a tabling (or memoing) meta-interpreter for Prolog (Cf. Earley Deduction, Extension Tables, OLDT, QSQR, Magic Templates, etc.). It is freely available by anonymous ftp from <sbcs.sunysb.edu> (130.245.1.15). (See instructions at the end of this message.) It is written in Quintus Prolog(TM) and allows integration of regular Prolog (compiled) execution with the tabling execution. I would suggest that anyone who is interested in goal-directed Horn clause evaluation strategies that are more finite than SLD will be interested in this system. With this system, the programmer declares certain predicates as ``table-d'' and then a table of calls and answers for such predicates is maintained. With this mechanism one can guarantee finite (terminating) evaluation of all pure Datalog programs, indeed all programs with the so-called bounded-term property. E.g., any definition of transitive closure (in Datalog) is terminating, and left-recursive DCG's can be correctly handled. Available with the XOLDT system are several programs that show how it can be used. The simplest example is: 1. A left-recursive grammar: the `standard' definition of Expressions. The XOLDT system also provides a facility whereby the programmer can program it to handle constraints. (This is a meta-interpretation facility and thus the constraint manipulation may be rather inefficient.) This constraint facility can be used in interesting ways, and several examples of its use are available. In particular: 2. An implementation of constructive negation, modified from one posted to the net by Mark Johnson. 3. An implementation of XOLDTNF, a goal-directed procedure for (partially) computing the well-founded semantics of general logic programs. It is complete and terminating for nonfloundering Datalog programs, assuming all recursive loops include a tabled predicate. 4. A simple example of using XOLDT for computing answers to ``possiblistic programs''. The example can easily be modified to compute answers to probablistic or fuzzy programs. This is an EXPERIMENTAL system. You may take it and use it at your own risk. No warranties are given or implied. It is implemented as a meta-interpreter on top of (Quintus) Prolog, and therefore carries significant overhead. On the other hand, efficiency was not entirely ignored in its implementation (the tables are indexed, and the underlying clause indexing of Prolog was used when possible.) I would appreciate any feedback (at <warren@cs.sunysb.edu>) concerning the system and its use. I will try to be responsive to any comments/requests/bugs/etc. David S. Warren Computer Science Department SUNY Stony Brook Stony Brook, NY 11794-4400 USA 516-632-8454 <warren@cs.sunysb.edu> HOW TO ftp: 1) Issue FTP command to connect to our ftp server ftp sbcs.sunysb.edu or ftp 130.245.1.15 When asked for Name, respond with "anonymous" When asked for Password, respond with "ftp" 2) Issue change directory command to where the XOLDT system is cd pub/xoldt 3) Change transfer mode to binary binary 4) Now retrieve the XOLDT system get xoldt.tar.Z 5) Exit the ftp program quit 6) Now uncompress and untar the files uncompress -c xoldt.tar.Z | tar xvf - Note that this command creates a subdirectory xoldt in the current directory and uncompresses the files into that directory. 7) (Optional) Remove the compressed XOLDT system rm xoldt.tar.Z 8) If you have done this in your home directory, the pathnames hardcoded into the files will work. If not, you will have to change some paths. 9) Have fun with the XOLDT system... Note that some of these instructions (1-7) apply only to Berkeley derived Unix, eg BSD, SunOS, etc.
Technical Details
Message-ID:
<1992Apr7.153700.4351@sbcs.sunysb.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!mips!darwin.sura.net!udel!sbcs.sunysb.edu!usenetShow Full Headers
Complete Article Headers
Newsgroups: comp.lang.prolog Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!mips!darwin.sura.net!udel!sbcs.sunysb.edu!usenet From: warren@sbcs.sunysb.edu (David Scott Warren) Subject: XOLDT System Available Message-ID: <1992Apr7.153700.4351@sbcs.sunysb.edu> Sender: usenet@sbcs.sunysb.edu (Usenet poster) Nntp-Posting-Host: sbwarren Organization: State University of New York at Stony Brook Date: Tue, 7 Apr 1992 15:37:00 GMT