(require-extension coops)
(define-class )
(define-method (foo (i ))
(print "foo v1"))
(define obj (make ))
(foo obj)
(define-class )
(define-method (foo (i ))
(print "foo v2"))
(foo obj)
;; Output:
;; foo v1
;; foo v1 <- this is OK
;; Now, same with modules:
(module a
*
(import chicken scheme)
(use coops)
(define-class )
(define-method (foo (i ))
(print "foo v1"))
)
(import a)
(define obj (make ))
(foo obj)
(module a
*
(import chicken scheme)
(use coops)
(define-class )
(define-method (foo (i ))
(print "foo v2"))
)
(foo obj)
;; Output:
;; foo v1
;; Error: (foo) no method defined for given argument classes: (#'>)