ABSTRACT

The chapter develops a set of functions for creating and using facts organized into forms. The IF-NEEDED closure attached to a slot is called whenever ask for the value of that slot with the function SLOT-VALUE. The closure is passed two arguments, the form about which one making the inquiry, and the name of the slot. The use of IF-NEEDED in slots is another way in which our forms differ from slots in normal structures. The most important improvement to be made to experimental representation language (Xrl), however, is not in the code, but in the semantic ground rules. Getting the semantics of frame systems right is non-trivial. The normal generalization is to allow the ISA tree to be a direct acyclic graph, which means that a form can have more than one ISA, but there is no form that has itself as a direct or indirect ISA superclass.