Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uflorida!mephisto!udel!udccvax1!sun.udel.edu!mulford From: mulford@sun.udel.edu (George Mulford) Newsgroups: comp.lang.prolog Subject: Arity Prolog Message-ID: <10830@sun.udel.edu> Date: 3 May 90 15:38:57 GMT Reply-To: mulford@sun.udel.edu (George Mulford) Organization: University of Delaware Lines: 52 Here's a reply I made a bit ago...unable to reach by e-mail those who are now asking about Prologs for the IBM-PC. The only comparison we made was before we bought Arity several years ago; there had been a survey article in _Computer Language_ which made it clear that Arity was the heavy hitter among PC prologs. There are two rivals I'm aware of. Prolog-2 has added a compiler since we made our decision and Quintus recently bought, and supports, LPA Prolog. LPA's next cut will run on a 286 machine in protected mode under DOS, which Arity doesn't. Arity lets you use up to 2 Meg of expanded memory, and they have an OS/2 version, which we are using. Arity is a very full-featured Prolog, clearly made for the working world, not for cute demos. They have a lot of switches and knobs you can turn to optimize things, and although that's a tedious process, if you need to cram a big program into a tiny memory space, it helps. They have a "data world" (things entered via recordz) vs. "code world" structure and you can switch worlds under program control--so you can partition your database, on the one hand, and bring in program overlays on the other. In the data world, you can pass around pointers to the specific data records, and you can replace them destructively. They offer both an interpreter and a compiler; they have a virtual memory system which works. We have been VERY satisfied with support from Arity Corporation. Not only do they answer queries and send out free updates, but they maintain a PC bulletin board and answer questions on line, and they'll let you download intermediate versions. A very responsive company. Last of all, if you're in education, they are willing to talk about deep discounts and site licenses. If you are making a product to sell, there is no distribution fee, but if you took an educational discount, they want it back. Oh...as you'd expect from the above, they support i/o pretty well. They have primitive mouse handlers and window handlers you can plug in. The OS/2 version uses Presentation Manager for all of that. They have an extended set of file i/o predicates which make life easy on that side. They have strings, and the strings really do save memory as intended. They have binary-tree database tools and hash table support--lots of neat stuff. So the bottom line is: this is a PC Prolog that works, even on a production scale, but they have made it work by extending prolog for efficiency, and so sacrificing compatibility. You can write "pure" prolog in Arity, but for a large project, you'll need to take advantage of their non-standard features. -- George W. Mulford mulford@sun.udel.edu Instructional Technology University of Delaware