Я использую GOOPS в схеме Guile 2.2.3. Если у меня есть код как:
(use-modules (oop goops))
(define-class <vec3> ()
(e0 #:init-value 0.0 #:init-keyword #:e0)
(e1 #:init-value 0.0 #:init-keyword #:e1)
(e2 #:init-value 0.0 #:init-keyword #:e2))
(define (make-point x y z)
(make <vec3> #:e0 x #:e1 y #:e2 z))
Когда я использую (make-point)
в REPL и запрашиваю возвращаемое значение, это выглядит примерно так:
scheme@(guile-user)> (define p0 (make-point 1 2 3))
scheme@(guile-user)> p0
$1 = #<<vec3> 556b26c087b0>
Есть ли какой-нибудь способ, которым я могу переопределить печать объектов, используемую в реплее Guile, чтобы я мог красиво напечатать поля p0
(скажем)?