Modeling attributes in the annotator

I'm doing a lit review on Python analysis techniques. Right now I'm trying to understand how PyPy's annotator models object attributes. Are the descriptions on the web page accurate? There are two corner cases that I do not understand how the annotator, as described, deals with. 1) o.f = 1 ??? = o.__dict__['f'] 2) Any attribute lookup involving a descriptor that is not a function object. I realize the annotator is only intended to work for RPython. Given the information I have, however, I do not see what restrictions in RPython would disallow these cases. ("They just are" is an acceptable answer, I just want to make sure I'm not being particularly dense and missing something.)

2010/2/18 Nick Bray <ncbray@gmail.com>:
I'm doing a lit review on Python analysis techniques. Right now I'm trying to understand how PyPy's annotator models object attributes. Are the descriptions on the web page accurate? There are two corner cases that I do not understand how the annotator, as described, deals with.
1) o.f = 1 ??? = o.__dict__['f']
2) Any attribute lookup involving a descriptor that is not a function object.
I realize the annotator is only intended to work for RPython. Given the information I have, however, I do not see what restrictions in RPython would disallow these cases. ("They just are" is an acceptable answer, I just want to make sure I'm not being particularly dense and missing something.)
They just are. __dict__ isn't RPython. -- Regards, Benjamin

On Thu, Feb 18, 2010 at 4:12 PM, Benjamin Peterson <benjamin@python.org> wrote:
2010/2/18 Nick Bray <ncbray@gmail.com>:
I'm doing a lit review on Python analysis techniques. Right now I'm trying to understand how PyPy's annotator models object attributes. Are the descriptions on the web page accurate? There are two corner cases that I do not understand how the annotator, as described, deals with.
1) o.f = 1 ??? = o.__dict__['f']
2) Any attribute lookup involving a descriptor that is not a function object.
I realize the annotator is only intended to work for RPython. Given the information I have, however, I do not see what restrictions in RPython would disallow these cases. ("They just are" is an acceptable answer, I just want to make sure I'm not being particularly dense and missing something.)
They just are. __dict__ isn't RPython.
-- Regards, Benjamin _______________________________________________ pypy-dev@codespeak.net http://codespeak.net/mailman/listinfo/pypy-dev
There is a bit of documentation on RPython. http://codespeak.net/pypy/dist/pypy/doc/coding-guide.html#restricted-python
participants (3)
-
Benjamin Peterson
-
Maciej Fijalkowski
-
Nick Bray