The following program does not work,
Code:
(load "~/quicklisp/setup.lisp")
(declaim (optimize (speed 3) (safety 3)))
(defclass counter ()
((x :initarg :x :accessor x)))
(defmethod setx (c x2)
(setf (x c) x2))
(defmethod add1 (c)
(setf (x c) (+ 1 (x c))))
(defmethod getx (c)
(x c))
(defun main ()
(defvar c (make-instance 'counter :x 3 ))
(setx c 5)
(add1 c)
(print (x c)))
(sb-ext:save-lisp-and-die "test.exe" :toplevel #'main :executable t)