coops strangeness pasted by megane on Wed May 16 10:10:17 2012
(require-extension coops) (define (bar) (print "bar v1")) (bar) (define (bar) (print "bar v2")) (bar) (define-class <a> ()) (define a (make <a>)) (define-method (foo (a <a>)) (print "foo v1 on " a)) (foo a) (define-method (foo (a <a>)) (print "foo v2 on " a)) (foo a) ;; Output: ;; bar v1 ;; bar v2 ;; foo v1 on #<coops instance of `<a>'> ;; foo v1 on #<coops instance of `<a>'> <-- nothing changed
coops strangeness a bit different pasted by certainty on Wed May 16 10:37:52 2012
#;2> (define-class <a> ()) #;3> #;3> (define-method (foo (a <a>)) ---> (print "foo v1 on " a)) Note: implicitly defining generic-procedure: foo #t #;4> (define-method (foo (a <a>)) ---> (print "foo v2 on " a)) #t #;5> #;5> (define a (make <a>)) #;6> (foo a) foo v2 on #<coops instance of `<a>'> #;7>
no title pasted by megane on Wed May 16 10:46:37 2012
(require-extension coops) (define (bar) (print "bar v1")) (bar) (define (bar) (print "bar v2")) (bar) (define-class <a> ()) (define b (make <a>)) (define-method (foo (c <a>)) (print "foo v1 on " c)) (foo b) (define-method (foo (c <a>)) (print "foo v2 on " c)) (foo b) ;; Output: ;; bar v1 ;; bar v2 ;; foo v1 on #<coops instance of `<a>'> ;; foo v1 on #<coops instance of `<a>'>
hmmm pasted by certainty on Wed May 16 10:49:16 2012
#;2> (define-class <a> ()) #;3> (define b (make <a>)) #;4> #;4> (define-method (foo (c <a>)) ---> (print "foo v1 on " c)) Note: implicitly defining generic-procedure: foo #t #;5> #;5> (define-method (foo (c <a>)) ---> (print "foo v2 on " c)) #t #;6> (foo b) foo v2 on #<coops instance of `<a>'> #;7>
indeed added by megane on Wed May 16 10:57:32 2012
(require-extension coops) (define (bar) (print "bar v1")) (bar) (define (bar) (print "bar v2")) (bar) (define-class <a> ()) (define b (make <a>)) (define-method (foo (c <a>)) (print "foo v1 on " c)) ;(foo b) <-- don't call foo (define-method (foo (c <a>)) (print "foo v2 on " c)) (foo b) ;; Output: ;; bar v1 ;; bar v2 ;; foo v2 on #<coops instance of `<a>'>