How To Make a Fast Dynamic Language Interpreter