[comp.lang.prolog] Quintus vs. MU vs. NU Prolog -- Summary

maner@bgsuvax.UUCP (09/23/87)

In a recent posting, I asked ...

Could anyone compare MU-Prolog with Quintus (or CProlog) for me?  I don't
need a diff on the respective feature lists.  What I need is something
like "I've used X and Y and I prefer ___ because ___."  Hidden motive:
We could stretch our budget to buy Quintus, but if MU-Prolog (or CProlog)
will be adequate for research and instruction, we could spend the dollars
elsewhere.

Following is a summary of replies received:

----- From: cmcl2!pitt!psuvax1!uunet.UU.NET!munnari!mulga.oz.au!isaac
      (Isaac Balbin)

Firstly, you should probably look at the next generation ie NU-Prolog
(a compiler). It is available by mailing John-Andrew Shepherd
 uunet!munnari.oz!jas

The main features which NU-Prolog has are (a) It behaves in a purer
logical way (uses next generation when declarations) and (b) has
excellent database facilities.

----- From: "ERIC Y.H. TSUI" <munnari!aragorn.oz!eric@uunet.uu.net>

I have recently completed a study on porting programs from MU to
Xerox Quintus Prolog (1.5). Maybe we can discuss some of the issues
you mentioned in the news broadcast. 

Our MU Prolog runs on a GOULD UTX3.2 (4.3BSD) and XQP runs on Xerox 1186
AI Workstation with a 40MB disk and two 300MB file servers.

I have successfully ported around 1MB source code of a MU program/system
from MU to XQP recently.

----- From: "ERIC Y.H. TSUI" <munnari!aragorn.oz.au!eric@uunet.uu.net>

       What was your reason for switching to Quintus?

We received Quintus Prolog (1.5) as a offset grant from Xerox Australia.
We have two copies of XQP running on 2 1186 workstations. Needless to say,
the whole Xerox grant is an offset to Deakin University, Australia.

       Did you uncover problems with MU-prolog?  

No, not really. Quite the contrary, I am very happy with MU Prolog. It is
ok (speedwise) so far for our work. They have released a latter one - NU Prolog
which is even better. Runs 6 to 8 faster than MU and can compile programs.

       Was efficiency an issue?  

See above. Instead, MU runs faster on our GOULD (4.3BSD) than XQP.
We are running some benchmark tests on the XQP and should have some results
soon. At this stage, I am convinced that XQP runs slower than MU in most cases,
even for compiled XQP programs.

       Did you like the Quintus user interface better?  

This is the best feature of Xerox QP. It is extremely nice. It is 
just like an Information Center.

       Were there too many peculiar extensions to Prolog in MU-Prolog?  

I do not think so. We have also conducted research on exploiting the differences
between MU and XQP. We have tabulated all the things one needs to change
in a MUP program to run in XQP environment.

       Were there a substantial number of Quintus predicates that were 
            unavailable in MU-Prolog?

Between 10 to 20%. However, for the same predicate name, some XQP predicates 
accept more arguments than the corresponding MUP one. Generally speaking,
XQP predicates are a superset of MU Prolog. For those predicates that are
in MU but not in XQP, they are mostly non-core predicates eg. statistics,
help. That is, they are not that essential for PROLOG programming.

Please keep me informed of your progress and send me any interesting
findings eg. technical reports, notes, bugs and problems. My postal address is
on the header of this message.

----- From: lee@mulga.oz (Lee Naish)

MU-Prolog and (some versions of) CProlog also have foreign function
interfaces (though not quite as easy to use).

----- From: Sundar Iyengar <oliveb!intelca!mipos3!sundar@ames.arpa>  

I have used both CProlog and Quintus extensively on the Apollo Domain
systems.  I find that CProlog is adequate for routine Prolog
programming.  Since the source code is available, you have a way to
implement unusual features by adding extra code.

Quintus has two advantages (it may have others, but I find these most
useful): a compilation facility and a foreign function interface.
Once your programs are stable, the run time can be increased by merely
compiling them.  The foreign function interface comes in handy when
you have to use other languages for various reasons (example:
building a graphical editor using a graphics library on your machine
in C).  Quintus also comes with an extensive on line help facility
which I found helpful once in a while.

----- From: Lee Naish <uunet!munnari!mulga!lee@seismo.css.gov>  

MU-Prolog is still being distributed by I recommend its successor,
NU-Prolog, which is a compiler based system and has many more
features.

For most research I would recommend a compiler system.  For teaching
the descision is not so clear cut.  If you have lots of students in
relation to machine cycles/memory and the projects you are setting are
small then an interpreter is probably desirable.

To choose between different compiler/interpreter systems you should
compare features and cost.  The thrust of our work at Melbourne Uni on
MU/NU-Prolog has been making the language closer to the ideals of
logic programming and having a good database facility.

-- 
CSNet   : maner@research1.bgsu.edu               | CS Dept    419/372-2337
UUCP    : {cbatt,cbosgd}!osu-cis!bgsuvax!maner   | BGSU
Generic : maner%research1.bgsu.edu@relay.cs.net  | Bowling Green, OH 43403
Opinion : If you are married, you deserve a MARRIAGE ENCOUNTER weekend!