chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #846: coops: define-method does not redefine


From: Chicken Trac
Subject: [Chicken-janitors] #846: coops: define-method does not redefine
Date: Wed, 16 May 2012 09:08:15 -0000

#846: coops: define-method does not redefine
------------------------+---------------------------------------------------
 Reporter:  megane      |       Owner:       
     Type:  defect      |      Status:  new  
 Priority:  major       |   Milestone:  4.8.0
Component:  extensions  |     Version:  4.7.x
 Keywords:              |  
------------------------+---------------------------------------------------
 Below are two cases, first works as expected, second doesn't.

 Case 1
 (require-extension coops)

 (define-class <a> ())

 (define b (make <a>))

 (define-method (foo (c <a>))
   (print "foo v1 on " c))

 (define-method (foo (c <a>))
   (print "foo v2 on " c))

 (foo b)

 ;; Output:
 ;; foo v2 on #<coops instance of `<a>'>

 Case 2
 (require-extension coops)

 (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:
 ;; foo v1 on #<coops instance of `<a>'>
 ;; foo v1 on #<coops instance of `<a>'> <-- nothing changed

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/846>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]