BT Templeton <[email protected]> writes:
> GOOPS defines an <applicable-struct-class> metaclass for this (similar
> to AMOP's funcallable-standard-class):
>
> scheme@(guile-user)> (define-class <foo> (<applicable-struct>))
> scheme@(guile-user)> ((make <foo> #:procedure car) '(1 2))
> $1 = 1
>
> 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.
Mark