(defclass wire () ((name :initarg :name :accessor name))) (defparameter *wire-n* 0) (defparameter *alist-of-wires* ()) (defun make-instance-wire () (let ((name (format nil "wire-~A" *wire-n*))) (incf *wire-n*) (push (cons name (make-instance 'wire :name name)) *alist-of-wires*))) (make-instance-wire) (assoc "wire-0" *alist-of-wires* :test #'string=) => ("wire-0" . #)