While looking through the IFE database I found reference to a Proglog Interpreter. Once I got the disk, I found QL Prolog version 1.00 (20 March 1990) by Hans Lub. Before I could review the package, I had to learn a little Proglog. I found a Prolog book at my local used computer bookstore and started reading. Prolog, like Lisp, is an AI language, and they both have various dialects. QL Prolog is based on Edinburgh style as covered in the book “Art of Prolog” by Sterling and Shapiro. The book I bought is based on another dialect of the language. If you are going to use this interpreter, I do recommend getting the right book.
Before I get in to QL Proglog, let me first discuss what the language Prolog is like. Prolog can best be described as a language based on a database of facts and rules. Facts attribute properties to items. Like “Bob is a Man”. Rules define conclusions based on certain facts, like “if a man then mortal”. Once a database is created, then queries can be made on the database to answer questions. The language can do more than this, but this is the philosophy of the language.
QL Proglog was designed to be a learning tool for Prolog. Usually this means that it has minimal looks and error checking. QL Prolog goes beyond the minimal. It has one window for the interpreter and one for error messages. Unfortunatelly there is no way to make the interpreter full screen. QL Prolog even comes with a few QL specific commands to handle the screen. An included help file documents all of the command implemented.
QL Prolog comes with a few example program including a version of Eliza. When running Eliza, I found QL Prolog to be a bit slow. The documentation does mention that optimization was not added to the program. Don’t expect any of your programs to execute with blinding speed.
Since this version was written three years ago, there could be a more recent version available. If the author has not moved, the source code should still be available for $10 (C and Assembly).
Once I find a library that carries the right book, I can explore the interpreter further. QL Prolog does a fine job of making Prolog reachable to QL programmers. I don’t see Prolog as a language for all, but QL Prolog could be used to get you started if you need Prolog for work or school.