next up previous contents index
Next: Controlling Style of Inference Up: Special Forms Previous: Deleting Things

Interacting with the User

These primitive forms are included only to make it easy to create self-contained demonstration examples. The correct way to interact with the user is to write a user interface in Lisp and call it using :test, :bind, or :branch.

(:show  fterm)

Print the contents of the frame referred to by fterm. Any slots on the list *dont-print-slots*  are not printed by :show or the interface command visit-frame.

(:ask  atomic-formula)

Asks user for a value for atomic-formula. If atomic-formula is ground then Algernon simply asks the user if atomic-formula is true. If the user answers yes then the atomic-formula is asserted and the :ask succeeds. If the user answers no then Algernon concludes the negation of the atomic-formula and the :ask fails.

If the atomic-formula is not ground then Algernon asks for a value for the variable in the atomic-formula. If the slot of the atomic-formula is typed to hold values from a set, and the members of the set are known, then Algernon requires the user to enter a value in the set.

Micheal S. Hewett
Tue Oct 29 11:28:38 CST 1996