(define-generic (print-object obj)) (define (default-print-method obj #!optional (out (current-output-port))) (let ((class (class-of obj))) (if (eq? class #t) (display obj out) (fprintf out "#" (class-name class))))) (define-method (print-object (obj #t) #!optional (out (current-output-port))) (default-print-method obj out)) (define-method (print-object (class ) #!optional (out (current-output-port))) (fprintf out "#" (class-name class))) (define-record-printer (coops-instance obj out) (handle-exceptions ex (begin (display "#" out)) (print-object obj out) ) )