On Sun, Apr 19, 2015 at 12:10 AM, Chris Angelico <rosuav@gmail.com> wrote:
That's not true; there is a spec for the language, which is independent of CPython, PyPy, etc, which are the implementations of it.
I'm not aware of such a document - can you point me to it? AFAIK `callable` is too old to be in a PEP. I hope you didn't have in mind the "docs as specification", that's not really a specification, it's a "state of things". But in this case, the question isn't one of Python vs CPython, but one
of the use of application-level code. If this is considered a hack, then it's not part of the language spec at all, but if it's deemed a feature, then (a) every Python implementation will be required to match it, and (b) other parts of the language (in this case, callable()) will probably be required to acknowledge it.
I wouldn't care about other python implementations, they are years behind CPython, and this is a very small change anyway. Why would this matter for them if they still implement python-2.7-language? It doesn't really make sense, unless you are considering to fix this in 2.7 too. Thanks, -- Ionel Cristian Mărieș, http://blog.ionelmc.ro