Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!wugate!uunet!munnari.oz.au!cs.mu.oz.au!ok
From: ok@cs.mu.oz.au (Richard O'Keefe)
Newsgroups: comp.lang.prolog
Subject: Re: Turbo Prolog (was Re: logic programs -> procedural lang?)
Keywords: Prolog, typing, compiler efficiency
Message-ID: <2256@munnari.oz.au>
Date: 30 Sep 89 07:30:25 GMT
References: <27335@shemp.CS.UCLA.EDU> <869@gamera.cs.utexas.edu> <1989Sep29.144838.16225@jarvis.csri.toronto.edu>
Sender: news@cs.mu.oz.au
Lines: 29

In article <1989Sep29.144838.16225@jarvis.csri.toronto.edu>, byu@csri.toronto.edu (Benjamin Yu) writes:
: In article <2181@munnari.oz.au> ok@cs.mu.oz.au (Richard O'Keefe) writes:
: # In short, you were surprised to discover that what you got was NOT a
: # Prolog compiler, but a compiler for another (closely related, but still
: # OTHER) language.
: 
: Can someone enlighten or remind me of what so terrible a thing which Borland
: has done in Turbo Prolog??

Nobody said that the authors of the program which Borland bought and market
as Turbo Prolog did anything TERRIBLE.  The claim is simply that it is
sufficiently different from ``Prolog'' that it is best regarded as another
language.  You can write non-trivial programs which work in both SICStus
Prolog and LPA Mac Prolog; you have to work at it, but you can do it.  But
you cannot lift a Prolog program out of a book like "The Art of Prolog"
and expect it to work in Turbo Prolog; you'll have to do a lot of editing.
And you cannot take a Turbo Prolog program and run it unchanged in a Prolog
system.

The major difference is that Prolog was designed to be an interactive
language like Lisp; you can easily add to and change a running program.
Turbo Prolog was designed to be statically compiled like Pascal.  Prolog
programs can easily manipulate other Prolog programs:  read(Term) can be
used to read clauses, for example.

-- 
GNUs are more derived than other extant alcelaphines,| Richard A. O'Keefe
such as bonteboks, and show up later in the fossil   | visiting Melbourne
record than less highly derived species.  (Eldredge) | ok@munmurra.cs.mu.OZ.au