Newsgroups: comp.lang.prolog
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornell!travelers.mail.cornell.edu!news.tc.cornell.edu!caen!usenet.cis.ufl.edu!usenet.eel.ufl.edu!news.mathworks.com!udel!gatech!howland.reston.ans.net!ix.netcom.com!netcom.com!ludemann
From: ludemann@netcom.com (Peter Ludemann)
Subject: Re: SWI-prolog or XSB-prolog
Message-ID: <ludemannD3sszG.47s@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <3gmflf$1bg@solaris.cc.vt.edu>
Date: Fri, 10 Feb 1995 19:04:28 GMT
Lines: 38
Sender: ludemann@netcom8.netcom.com

In article <3gmflf$1bg@solaris.cc.vt.edu>,
Ta Cheng Lin <tclin@maple.ee.vt.edu> wrote:
>
>I have a project that needs prolog to work with. SWI-prolog
>and XSB are both free and seems provide a lot of features.
>Has any body tried both of them? what's your comments?
>which one is better/

It depends on what you want to do.

XSB's big advantage is that if you're doing anything that involves
transitive closure of facts, you don't have to do any special
programming to avoid infinite loops.  Examples of such situations are
computing the FIRST* and FOLLOW* relations for an LR(k) parser,
following graph paths, etc.  I've used this; and once you know the
limitations (e.g., no side-effects whatsoever in the "tabled"
predicates, which is a very reasonable restriction), it's very nice.

On the other hand, SWI has focused on more traditional Prolog things
and has a much faster read/1 predicate than XSB (this is important if
you're reading in very large terms).

Both seem to be stable products; and the authors of both are good at
responding to bug reports.  I would prefer XSB for learning about
Prolog, just because it allows a "purer" programming style.

Missing from both are serious predicate libraries and nice development
environments.  If I were doing commercial things, I would definitely
consider getting a commercial product such as Quintus, just for its
libraries, development environments, and "industrial strength"
approach and over-all product maturity [believe me, it's a lot of work
to bring a product up to "industrial strength", probably more than
freeware authors can do unless they're independently wealthy] ... and
having a maintenance agreement is probably better than relying on "the
kindness of strangers".

-- 
Peter Ludemann                      ludemann@netcom.com
