Guido van Rossum wrote: > On 4/8/07, Paul Pogonyshev <[EMAIL PROTECTED]> wrote: > > Additionally consider something like > > > > something.set_callback (x) > > > > Assume that set_callback() wants to check if `x' is callable at > > all, to raise exception early and make error tracking easier. > > Currently, you can > > > > assert callable (x) > > > > But if callable() is removed, there is no apparent replacement. Of > > course, you cannot call `x' since it might have side-effects or be > > slow etc. > > assert hasattr(x, '__call__') > > I note that callable() was introduced before all callable objects had > a __call__ attribute. This is no longer the case, so it's not needed.
I just didn't think about that possibility. If that works the same way, callable() is just a sugar and not something unimplementable in other ways. Therefore, my objection is discarded. (But PEP 3100 should probably be update to mention this, otherwise you may get this complaint again ;) > > Please reconsider removal of callable() or provide an adequate > > replacement. > > What if someone passes a callable that doesn't have the expected signature? Well, I don't know a way to catch such situations now, so removing callable() will not make it worse (even if you don't know about hasattr trick above.) Paul _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com