"Ron Garret" <[EMAIL PROTECTED]> wrote:

> > I don't want to get into a philosophical debate.
>
> Actually, I changed my mind.  Consider:
>
> def g(): print 'G'
>
> def h(): print 'H'
>
> def f(): g()
>
> class C1:
>   def m1(self): f()
>
> class C2:
>   def m1(self): g()
>
> c1 = C1()
> c2 = C2()
>
> def f(): h()
>
> class C2:
>   def m1(self): h()
>
> c1.m1()  # Prints H
> c2.m1()  # Prints G
>
> On what principled basis can you justify two different outputs in this
> case?  Why should I be able to change the definition of f and not have
> to go back and recompile all references to it, but not m1?

This feels to me as if you are changing the specification of what wood to use
from yellowood to teak after the chair has already been made.

But maybe I am just simple minded...

- Hendrik

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to