;; This is based on an example presented in "Let Over Lambda" by Doug Hoyte. (defun counter-class () (let ((counter 0)) (lambda (msg) (case msg ((:inc) (setq counter (+ counter 1))) ((:dec) (setq counter (- counter 1)))))))