It's great that they are splitting the RPython docs out from the PyPy ones.
One thing I found lacking while writing a simple BrainFuck interpreter in RPython is lack of documentation on the best practices with regards to speed. Should I use classes, namedtuples or even just tuples to pass data around? Using a list seemed to slow things down a lot in some places but not others etc.
Apart from that I highly recommend people give PyPy a go if you're going to be writing an interpreter.
Getting a basic interpreter working wasn't hard, but I attempted to add a few of the optimizations listed here[1], which meant adding some form of AST and stuff to manipulate it. This is where I got a bit stuck with regards to performance as some of my optimizations meant the program should have been faster, but instead it slowed down.
They have been trying to improve the exact specification of RPython since David Beazley sorta called the project out on the fact that, for a time early in the development of PyPy, RPython was basically whatever subset of Python survived the PyPy build process. The 2012 PyCon keynote gives and awesome explanation of the project internals and its promise: https://www.youtube.com/watch?v=l_HBRhcgeuQ
One thing I found lacking while writing a simple BrainFuck interpreter in RPython is lack of documentation on the best practices with regards to speed. Should I use classes, namedtuples or even just tuples to pass data around? Using a list seemed to slow things down a lot in some places but not others etc.
Apart from that I highly recommend people give PyPy a go if you're going to be writing an interpreter.