That looks pretty awesome. Thanks for the suggestion. Looks like it gets to a good amount of functionality too, with first class functions and closures and the like.
For example here's a version with classes / OO-behaviour:
https://github.com/haifenghuang/monkey
Or here's my version which "just" adds some more standard-library facilities, allowing you to open/read/write files:
I found the language fun to play with, and I used a virtually identical lexer and parser-idea in a recent project of my own - rather than "parsing" an input-file with regular-expressions, which is how I would have previously approached the implementation of simple DSLs. I guess that showed I'd learned something useful!