perm filename SAVE.1[NET,GUE] blob sn#025544 filedate 1973-02-15 generic text, type T, neo UTF8
                 





(CDEFUN WORLD←MODEL (INFO)
     (PRINT INFO) (RETURN (READ)))





(CDEFUN MUST←BE←PRESENT (ITEM)
  "AUX"  (MSG)
     (COND ((PRESENT ITEM) (RETURN T)))
     (CSETQ MSG (CONS 'IS (CONS ITEM '(PRESENT))))
     (COND ((NULL (WORLD←MODEL MSG)) (RETURN NIL)))
     (ADD ITEM ) (RETURN T))





(CDEFUN MUST←FETCH (ITEMS)
  "AUX"  (MSG BUFFER BUFFY)
     (CSETQ BUFFER (FETCH ITEMS))
     (COND ((NOT (NULL (CDR BUFFER))) (RETURN BUFFER)))
     (CSETQ MSG (CONS '(LIST ITEMS OF THE FOLLOWING FORM) ITEMS))
     (CSETQ BUFFER (WORLD←MODEL MSG))
     (COND ((NULL BUFFER) (RETURN NIL)))
     (CSETQ BUFFY BUFFER)
     :LOOP
     (ADD (CAR BUFFER))
     (CSETQ BUFFER (CDR BUFFER))
     (COND ((NULL BUFFER) (RETURN BUFFY))
            (T (GO 'LOOP))))