🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #2559

Re: How do you like Turbo-Prolog? - (nf)

#2559
From: Mike Newton
Date: Sun, 08 Mar 1987 08:19
68 lines
3751 bytes
[This is a review of Turbo Prolog sent out in response to Peter Alfke's
 recent comments on net.lang.prolog.  The review was originally sent to the
 AI-DIGEST many months ago, but I believe that net.lang.prolog would also
 be a good place for it!]

[Also, in response to Peter's comments about the speed of the vax --
 Cprolog runs on all of our suns, at (*real*) speeds (see notes below)
 that are much better than Turbo's]

[ Caveats to remember when reading this review: 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 (~900 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 soley 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.

Also, and most seriously (thanks to Fernando Pereira) there  are two more
*MAJOR* problems:  the logical variable doesn't really
exist: it is a runtime error to do variable-to-variable unifications
as in	
		p(X,X).
	
		?- p(X,Y), p(X,a).

And, it is not possible to assert clauses with variables.

In summary, I would say that there advertising is at best a
misrepresentation.  They are not selling a 'Prolog' system! 
(If I owned a TM on the word 'Prolog', I would be tempted to sue them!)

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

	"Life's a beach, then you graduate"
Technical Details
Message-ID: <1974@cit-vax.Caltech.Edu>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!rutgers!ames!cit-vax!newton
References: <426@thumper.UUCP> <7000002@iaoobelix.UUCP> <1973@cit-vax.Caltech.Edu>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!rutgers!ames!cit-vax!newton
From: newton@cit-vax.Caltech.Edu (Mike Newton)
Newsgroups: comp.lang.prolog
Subject: Re: How do you like Turbo-Prolog? - (nf)
Message-ID: <1974@cit-vax.Caltech.Edu>
Date: Sun, 8-Mar-87 03:19:30 EST
Article-I.D.: cit-vax.1974
Posted: Sun Mar  8 03:19:30 1987
Date-Received: Mon, 9-Mar-87 03:14:51 EST
References: <426@thumper.UUCP> <7000002@iaoobelix.UUCP> <1973@cit-vax.Caltech.Edu>
Reply-To: newton@cit-vax.UUCP (Mike Newton)
Organization: California Institute of Technology
Lines: 68
Keywords: Turbo Pascal Prolog