Most Prolog systems add to the logical core of the language a bewildering variety of extra features for procedural tasks such as input/output. The second part of the book presents some of the most commonly met features, including all facilities that are common to all Prologs. As well as the most commonly used facilities, there is an account of more abstruse topics such as garbage collection.
The third part of the volume is concerned with programming style. Its principal aim is to show that despite the illogicalities available in Prolog, the programmer may construct programs that conform to the principles of logic programming by adhering to a number of design criteria. Efficiency of programs is also considered at length. An approach to debugging Prolog programs is presented. Finally the process of designing Prolog programs is discussed and there is an extended example showing how an application is developed.