[pypy-dev] Support for __getitem__ in rpython?
simon at arrowtheory.com
Fri Dec 5 07:15:36 CET 2008
On Thu, 4 Dec 2008 10:15:34 +0100
"Hakan Ardo" <hakan at debian.org> wrote:
> I've started to play around with the pypy codebase with the intention
> to make obj[i] act like obj.__getitem__(i) for rpython objects.
> approach I tried was to add:
> class __extend__(pairtype(SomeInstance, SomeObject)):
> def getitem((s_array, s_index)):
> return p.simple_call(s_index)
> and then do something like:
> class __extend__(pairtype(AbstractInstanceRepr, Repr)):
> def rtype_getitem((r_array, r_key), hop):
> hop2.forced_opname = 'getattr'
> hop3.forced_opname = 'simple_call'
> But I am having a hard time understanding the rtyper and if this is
> the right approach? Is there anything similar in the code/docs I
> could look at to get a better understanding on how to write this?
I had lots of fun last year writing code in rpython/numpy .
There is plenty of getitem goodness there. Unfortunately it
is probably impenetrable. Um. Perhaps you could revert back to
when the code was sane (but much less functional).
I also had a whack at __str__ for classes but failed horribly.
Keep pestering me and i'm likely to become interested in this stuff again.
Cheering from afar,
More information about the Pypy-dev