[mod.ai] Review of Turbo-Prolog

newton@VLSI.CALTECH.EDU.UUCP (05/13/86)

[This is a review of Turbo Prolog.  I have *not* read all of the
 manual, nor used it on many programs.  Views expressed are from the
 perspective of someone who has done the code generation and 
 evaluatable predicates for a high speed (810 KLips on one processor
 of a IBM 3090)  prolog compiler.  I have no affiliation with
 Borland, and only a (*very*) indirect affiliation with IBM  -- MON]

From a local software store we purchased Turbo Prolog over the weekend.
It came as a cellophane wrapped book with a couple of floppies.  It cost
$69.95, list of $99.

The enviromnent was very nice.  There was a window for the editor, goals
debugging information and messages.  This seemed well done, and responded
reasonably well (I am not used to IBM-PC's.)

The unfortunate part was the Pascal-ization of the language.  Everything
had to be typed (they called it domains).  As far as I could tell, lists
had to be composed solely of other lists or elements all of one type.  One
had to define the possible terms (giving the functor) that could be
arguments to a predicate.  It seemed impossible to write generic predicates
for dealing with arbitrary types of terms.

	Ex:  to have a term that could be a 'symbol' (atom) or an integer
	one had to do this:
		domains
			aori = a(atom) or i(integer)
	It was not possible to just use an atom or an integer as a subterm...


Typing each subterm of a term is not my idea of Prolog.

After about an hour we got the 'standard' timing example of naive
reverse running  (Some people have used other, non-environment-creating
samples.  This is an unfair comparison).  It did 496 unifications in
aproximately 11/100 of a second.  This amounts to a speed of a little
under 5 Klips.  Considering that they do not need to do 'real' unification
(since everything is pre-typed, and thus can be reduced to a simple test),
this speed is not particularly impressive.

- mike

newton@cit-vax.caltech.edu	{ucbvax!cithep,amdahl}!cit-vax!newton
Caltech 256-80			818-356-6771 (afternoons,nights)
Pasadena CA 91125		Beach Bums Anonymous, Pasadena President