オブジェクトの印字方法をカスタマイズする - lisp-cookbook-ja/common-lisp GitHub Wiki

オブジェクトシステム(CLOS)

総称関数 print-object を定義します。

(defclass my-class () ())

(defmethod print-object ((object my-class) stream)
  (print-unreadable-object (object stream :type t)
    (format stream "my object")))

読み込み不可能な印字表現を処理系に依存しない方法で書ける print-unreadable-object がよく使われます。

> (make-instance 'my-class)
; => #<MY-CLASS my object>