Writing an Interpreter in Go