Hello, > I tried changing all to `#:init-value', but the result was the same.
Imo, using your definitions, guile should return 'foo, not 42. But note that you do not define a getter in <bar>. Still using your code the following will work: (foo-a (make <foo>)) (slot-ref (make <bar>) 'a) Then if you define a getter..., you also get the expected result Cheers, David ;; GNU Guile 2.0.11.2-0ece4 scheme@(guile-user)> scheme@(guile-user)> (use-modules (oop goops)) (define-class <foo> () (a #:init-value 'foo #:getter foo-a) (b #:init-value 42)) (define-class <bar> (<foo>) (a #:init-value 'bar #:getter foo-a)) (foo-a (make <foo>)) (foo-a (make <bar>)) $2 = foo $3 = bar scheme@(guile-user)>