AAIS Prolog

Michael Frank Deering: AI: AAIS Prolog


I, earlier than most AI people, realized that the real world ran on C (or worse), and was not likely to convert to Lisp any time soon. So for my next AI data base reasoning system after PEARL, code-named Crystal, I decided to build it on top of C rather that Lisp (this was in 1982). I worked on this part time as a hobby (outside of my Schlumberger work), and got it going on a very early Macintosh (a Mac XL (aka. a Lisa with Mac OS)). As the package started working suddenly it was no longer a hobby and I had to decide what to do with it. Things were going well at Schlumberger and I didn’t want to leave, so I decided to hand the project over to a friend of mine, Douglas Lanam, who was willing to make a go at it as a real software business. He then incorporated Advanced AI systems: AAIS.

An Unfortunate Mutation

Douglas continued to develope the package, and started looking for consulting contracts to help fund his early stage work. Unfortunately he received contracts from two different companies to build a custom version of Prolog that would work as a linked library, rather than as master. Quintus Prolog (which was partially developed using machines inside SPAR by Quintus personal), like many other large systems (written in C or not) though of itself as “master”, and could only call other programs as subroutines; it could not itself be called as a simple library. As I had written Crystal from the beginning as an embeddable library, it was fairly quick work for Douglas to write a Prolog interpreter on top of Crystal (which was otherwise a superset of Prolog semantically) and deliver this to his customers. The problem was, they kept paying for more and more improvements to this “Prolog” product. Douglas had no time for continuing to productize the entire Crystal package, and soon he had a commercial quality Prolog implementation on his hands. So he put a UI on the front end, and made the decision to sell the package commercially as “AAIS Prolog”.

Commercial Results

This commercial product was by now much more Doug’s than mine (he re-wrote every line of code with a half-life of about three months), and was sold for quite a number of years as the dominate market share Prolog for the Macintosh market (such that that was). Quite a number of scientists and researchers apparently were using it to write internal projects at various universities and companies around the world. As one of the few very early independent software developers for the Macintosh, I always though that Douglas could had leverage his knowledge of how to actually build sophisticated software on top of McIntoshes (something very few others had mastered in the mid eighties) into any of several other areas of Mac software products. However, Douglas didn’t want a larger company growing under him, and, his choice, chose not to do so. By 1994 the demand for the product had fallen with Prolog’s fortunes (though now in late 2005 Franz Lisp has just announced a Prolog plug-in?!), and he wound down the company on April first.

Cool Features

AAIS Prolog implemented one of the features that I have been asking for for years: the ability to have drawings in the comment field of code. Symbolics Lisp supported read-only drawings imported from an external drawing editor, but you couldn’t modify them while looking at the code. (Java automatically generates javadocs, but no drawings.) Unfortunately, this was one of several features that scared Mac customers, so it was removed.

Publications, Not!

There were no formal papers on AAIS prolog, but there were several editions of the (quite extensive) manual.