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.