[comp.lang.prolog] Prolog interpreter/compiler on IBM

eric@aragorn.cm.deakin.OZ (Eric Y.H. Tsui) (05/19/89)

Would anyone know of any Prolog interpreter(s) that can run on an IBM 
(compatible) (4BM memory) that satisfies the following criteria:

1. High compatibility with DEC-10 Edinburgh format
2. Handles approximately 2000-5000 predicates (ie. large programs)
3. Reasonable speed (10-20Klips)

I have used MU Prolog/NU Prolog (on UNIX), Quintus Prolog (on Xerox 1108)
and AAIS Prolog (on Mac SE/+) but am not aware of the IBM (clones) compatible
prologs.

Eric Tsui                               eric@aragorn.oz
Research Fellow
Department of Computing and Mathematics
Deakin University
Geelong, Victoria 3217
AUSTRALIA
---------

slzr@GTE.COM (Suzanne Sluizer) (05/22/89)

In article <7535@charlie.OZ> eric@aragorn.OZ (Eric Y.H. Tsui) writes:
>Would anyone know of any Prolog interpreter(s) that can run on an IBM 
>(compatible) (4BM memory) that satisfies the following criteria:
 
>1. High compatibility with DEC-10 Edinburgh format
>2. Handles approximately 2000-5000 predicates (ie. large programs)
>3. Reasonable speed (10-20Klips)

I'm not sure if it satisfies criterion 3 (although I suspect it does),
but look into Arity/Prolog.  You can buy an interpreter for around
$200 (American).  It also has a compiler available.  Last time I checked,
you could get both for under $800 (American).

Arity/Prolog is almost 100% compatible with DEC-10 Prolog.  I know
from personal experience that it handles much more than 2000 predicates.
(Although I haven't counted number of predicates, we have a Prolog
program that is about 100 pages that easily fits into Arity/Prolog on
a 1.5MB IBM PC-compatible.)  And its speed is more than reasonable --
interpreted Arity/Prolog on a PC outruns interpreted C-Prolog on a
Microvax II.

I recommend it (I've been using it for over 3 years now).

-- 
Suzanne Sluizer                CSNET:  slzr%gte.com@RELAY.CS.NET
GTE Laboratories               UUCP:   ...!harvard!bunny!slzr
617-466-2882
"Truth is a pathless land." -- Krishnamurti

slzr@GTE.COM (Suzanne Sluizer) (05/22/89)

Oops, forgot to include the relevant information on Arity Corporation:

	Arity Corporation
	30 Domino Drive	
	Concord, MA  01742  USA

I have no connection with them other than being a satisfied customer.

-- 
Suzanne Sluizer                CSNET:  slzr%gte.com@RELAY.CS.NET
GTE Laboratories               UUCP:   ...!harvard!bunny!slzr
617-466-2882
"Truth is a pathless land." -- Krishnamurti

px@unl.fctunl.rccn.pt (Joaquim Baptista (pxQuim)) (05/27/89)

Please consider using Prolog-2. I know Prolog-2 and Arity/Prolog, so I
will compare both. Prolog-2 is fully compatible with Edimburgh
format, with the following constraints and features:

- record, recorded, etc. are _simulated_ using assert/retract and thus
  _not_ recomended;

- It has tail recursion optimization, something you won't find in
  Arity/Prolog and that I find most usefull;

- It features modules (just as Arity/Prolog does). Both can simulate
  virtual memory;

- Prolog-2 can index a predicate using a hash function based in the
  functor and the arity of the first argument;

- Arity/Prolog has many unique features, like explicit B-trees and
  Hash tables, which are absolutely not portable;

- Both can be compiled, must you should be prepared to handle the bugs
  of the compiled code - perfectly good code will behave strangely
  after compilation (usually unification-related problems);
  Arity/Prolog beats Prolog-2 in compilation time (we never compared
  the execution times);

- Some Arity/Prolog predicates were not designed to be backtrackable.
  This means that when you backtrack over some system predicates which
  should succeed only once, you sometimes get strange behavior.

- I'm not sure of speeds, but they seem to have approximate speeds;
  perhaps you shoud choose one or the other based on the other
  features.

- I'm also not sure if any of this products uses any extended memory,
  but I'll bet they don't.

By the way, I used Prolog-2 and saw Arity/Prolog. I tend to like
Prolog-2 because of tail recursion optimization, and rejected
Arity/Prolog because of its many non-standard features (which, at some
time, you are compelled to use). However, Arity/Prolog version 5 seems
to have a better and more integrated environment than Prolog-2 version
2 (not that it's not an integrated environment with a very good help
function, which doesn't exist in arity/Prolog; I just don't like the
text editor, and ended up using 'vi').

I wanted to include the address to quest about Prolog-2, but I'm
having some trouble into getting to it... It will follow later.
--
--------
Joaquim Manuel Soares Baptista	| BITNET/Internet: px@host.fctunl.rccn.pt
Dept. Informatica		| UUCP:	px@unl.uucp
Universidade Nova de Lisboa	| ARPA: px%host.fctunl.rccn.pt@mitvma.mit.edu
2825 Monte Caparica		| PSI/VMS: PSI%(+2680)05010310::PX
PORTUGAL			| Sound: (+351) (1) 295 4464 ext. 1360