Plaster

common-lisp
(defclass s () ((x :reader x :initarg :x) (y :accessor y))) (defmethod initialize-instance :after ((instance s) &rest initargs &key &allow-other-keys) (declare (ignore initargs)) (setf (y instance) (expt (x instance) 2))) (make-instance 's :x 10)