This book is aimed at the programmer who wishes to learn the advantages of programming in Prolog. It takes a pragmatic rather than theoretical approach to the language, using a full programming example rather than code fragments. The various features of Prolog, such as logic definitions, symbolic reasoning, database manipulation, natural language, I/O, and flow of control, are taught through the step-by-step development of an adventure game - an excellent and fun vehicle for showing Prolog's power. Through the exercises the reader applies the skill learned to the development of three other applications: an intelligent genealogical database, an expert system, and a business application. The unusual run-time behavior and variable binding of Prolog - the sources of its power - are fully explained through diagrams and traces so they can be effectively used by the programmer. It is recommended (but not required) that the reader use a Prolog interpreter to experiment with the language and application described in the book.
Adventure in PROLOG