; Act 1 - Counter Actor
; Lieberman, H. "A Preview of Act 1", MIT AI Memo 625, 1981

(ACTOR COUNTER (N)
  (CASES
    ((MESSAGE IS (INCREMENT AMOUNT))
     (BECOME COUNTER (+ N AMOUNT)))
    ((MESSAGE IS (DECREMENT AMOUNT))
     (BECOME COUNTER (- N AMOUNT)))
    ((MESSAGE IS (VALUE-TO CUSTOMER))
     (SEND N TO CUSTOMER)
     (BECOME COUNTER N))))

(DEFINE TALLY (NEW COUNTER 0))
(SEND TALLY (INCREMENT 10))
(SEND TALLY (INCREMENT 5))
(SEND TALLY (DECREMENT 3))
(SEND TALLY (VALUE-TO SELF))
