Nice article. One thing that people are doing these days is using the #lang mechanism to easily turn a Redex [0] model into a quick-and-dirty prototype implementation of a new language, integrated with the Racket tooling (IDE etc.).
If anyone does not recognize dyoo, the owner of hashcollision.org is also the author of Whalesong, a Racket->Javascript system. I think it has been discussed before on HN.
The reader (lexer and parser) turns the source program into syntax objects. The main idea is to make a Racket macro for each Pascal construct. The Racket macro expands into normal Racket.
While I was reading this I realized just about any scheme implementation could probably override their `read` like this as well. Obviously racket as an implementation has focused on making this work well.
[0] http://docs.racket-lang.org/redex/tutorial.html