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