Path: utzoo!attcan!uunet!mcvax!inesc!unl!uniq!px From: px@unl.fctunl.rccn.pt (Joaquim Baptista (pxQuim)) Newsgroups: comp.lang.prolog Subject: Re: Prolog interpreter/compiler on IBM (4MB memory) machines Message-ID: Date: 26 May 89 17:19:19 GMT References: <7535@charlie.OZ> <6963@bunny.GTE.COM> Sender: px@unl.fctunl.rccn.pt Followup-To: comp.lang.prolog Distribution: comp Organization: Universidade Nova de Lisboa, Portugal Lines: 55 In-reply-to: slzr@GTE.COM's message of 22 May 89 14:03:26 GMT Posting-Front-End: GNU Emacs 18.44.13 of Wed Jun 24 1987 on uniq (berkeley-unix) Please consider using Prolog-2. I know Prolog-2 and Arity/Prolog, so I will compare both. Prolog-2 is fully compatible with Edimburgh format, with the following constraints and features: - record, recorded, etc. are _simulated_ using assert/retract and thus _not_ recomended; - It has tail recursion optimization, something you won't find in Arity/Prolog and that I find most usefull; - It features modules (just as Arity/Prolog does). Both can simulate virtual memory; - Prolog-2 can index a predicate using a hash function based in the functor and the arity of the first argument; - Arity/Prolog has many unique features, like explicit B-trees and Hash tables, which are absolutely not portable; - Both can be compiled, must you should be prepared to handle the bugs of the compiled code - perfectly good code will behave strangely after compilation (usually unification-related problems); Arity/Prolog beats Prolog-2 in compilation time (we never compared the execution times); - Some Arity/Prolog predicates were not designed to be backtrackable. This means that when you backtrack over some system predicates which should succeed only once, you sometimes get strange behavior. - I'm not sure of speeds, but they seem to have approximate speeds; perhaps you shoud choose one or the other based on the other features. - I'm also not sure if any of this products uses any extended memory, but I'll bet they don't. By the way, I used Prolog-2 and saw Arity/Prolog. I tend to like Prolog-2 because of tail recursion optimization, and rejected Arity/Prolog because of its many non-standard features (which, at some time, you are compelled to use). However, Arity/Prolog version 5 seems to have a better and more integrated environment than Prolog-2 version 2 (not that it's not an integrated environment with a very good help function, which doesn't exist in arity/Prolog; I just don't like the text editor, and ended up using 'vi'). I wanted to include the address to quest about Prolog-2, but I'm having some trouble into getting to it... It will follow later. -- -------- Joaquim Manuel Soares Baptista | BITNET/Internet: px@host.fctunl.rccn.pt Dept. Informatica | UUCP: px@unl.uucp Universidade Nova de Lisboa | ARPA: px%host.fctunl.rccn.pt@mitvma.mit.edu 2825 Monte Caparica | PSI/VMS: PSI%(+2680)05010310::PX PORTUGAL | Sound: (+351) (1) 295 4464 ext. 1360