BT Templeton <b...@hcoop.net> writes:

> Mark H Weaver <m...@netris.org> writes:
>
>> BT Templeton <b...@hcoop.net> writes:
>>
>>> Would it work to simply have all Python metaclasses inherit from
>>> <applicable-struct-class>?
>>
>> On second thought, I see a problem with this idea: it would mean that
>> 'procedure?' would return true for _any_ Python object.
>>
>> In order to avoid this problem, the Python implementation would need to
>> know at class-creation time whether the __call__ method will be
>> supported.  My knowledge of Python is very rusty, but I'm pretty sure
>> that the user could add a __call__ method at any time.
>
> True, but in GOOPS you'd have to change the object's class anyway to add
> a slot, I think. So the new dynamically-instantiated class could inherit
> from both the original class and <applicable-struct>.

I don't know why it would be necessary to redefine the class in order to
add a method, but this is an interesting idea nonetheless.  One
potential issue is that references to the old class may linger, but that
can most likely be addressed by adding a level of indirection to class
references in Python.  It's not an ideal solution, but it should work.

    Thanks!
      Mark

Reply via email to