The name of a class.
A variable beginning with
?
.
The name of a slot in the class-name.
An expression.
The class-name must be the name of a class of objects known to KnowledgeWorks. Each term is an expression composed of Lisp data structures and KnowledgeWorks variables.
If variable is unbound a new instance of class-name is created with each named slot-name initialized to the value of the corresponding term .
If variable is bound, that bound instance has its named slots modified to contain the values of the term corresponding to each slot-name . It is an error if the bound object is not of the named class.
It is an error to put an unbound variable into a slot of an object in the object base.
Only objects in the current inferencing state will be affected.
(assert (truck ?truck driver ?driver))
(assert (possible-trucks ? trucks (?truck . ?trucks))
KnowledgeWorks and Prolog User Guide (Unix version) - 6 Dec 2011