Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site allegra.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!dep From: dep@allegra.UUCP (Dewayne E. Perry) Newsgroups: net.lang.prolog Subject: Re: A Cautionary tale. Message-ID: <2599@allegra.UUCP> Date: Fri, 13-Jul-84 10:38:35 EDT Article-I.D.: allegra.2599 Posted: Fri Jul 13 10:38:35 1984 Date-Received: Sat, 14-Jul-84 01:10:52 EDT References: <1809@sri-arpa.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 22 offering :- all_the _previous_lines, leave_this_line_if_appeased. The rules for the operation reverse were reported to be faster because they were measured to be faster using C Prolog (measured by doing each version 200 times on a list with 36 elements). You may recall that I warned about optimizations that appeal to your intuition as improving the average case, etc, but that do not have that effect in a prolog implementation. This phenomena comes from the complex underlying structure that does the data base management and the inferences. There seem to be two levels of understanding needed to exploit this structure: the logical structure of prolog - ie, the simplifications made to first order predicate calculus and the underlying theory in order tomake prolog a practical working system - and the implementation of this logical structure - ie, the particular quirks of a particular version of prolog. Unfortunately, these latter considerations vary from version to version. Besides, you shouldn't depend on those kinds of "features" anyway. ?- author(X) X = Dewayne E. Perry