On Thu, Nov 5, 2009 at 10:35 AM, Dino Viehland <di...@microsoft.com> wrote: > Stefan wrote: >> It /does/ make some static assumptions in that it considers builtins >> true >> builtins. However, it does not prevent you from replacing them in your >> code, as long as you do it inside the module. Certainly a restriction >> compared to Python, where you can import a module into a changed dict >> environment that redefines 'object', but not a major restriction IMO, >> and certainly not one that impacts much code. > > To me this is a deal breaker which prevents Cython from being a Python > implementation. From a talk given by Colin Winter at the LLVM dev meeting > (http://llvm.org/devmtg/2009-10/) it seems like Unladen Swallow wanted to > do something like this as well and Guido said no. In this case the breaking > change is so subtle that I'd personally hate to run into something like > this porting code to Cython and having to figure out why it's not working.
To clarify, I was joking when I told that story (or at least I was joking with Guido when I asked him if we could break that). It clearly *would* be easier if we could just ignore this point of Python compatibility, but that's not an option, so we've had to optimize around it. It's not that hard to do, but it's still extra work. Collin Winter _______________________________________________ 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