Class Definitions

The definition of a class with multiple superclasses begins with a class/1 directive of the form

     :- class ClassName = [SlotDef, ...] + SuperClass + ....

The list of slot descriptions and the superclasses to the right of the = can appear in any order, without changing the class being defined. In fact, the slot descriptions can be partitioned into more than one list, without changing the class. However, it is best to adopt a fairly simple style of writing class definition and use it consistently.

Just as the slot names in a list of slot descriptions must be distinct, superclass names should not be repeated.