I implemented a shakespeare interpreter a couple of years ago and it was great fun, although I had to extend the language a bit to be able to write tests.
Sadly, there was an ISO commitee where I could send requests to get new standard features :)
what would be super interesting is an obfuscater that sort of did the opposite of this. Feeding it normal source would output a Shakespearian play that could be decoded and run on another computer.
I've actually written a snippet in this once as a personal challenge. The GOTOs don't work properly in the interpreter I used, which just messed everything up.
This has been around for quite a while, and, as usual, the "99 Bottles of Beer" example is quite instructive as to how to use the language on a real problem. "Thou art as cute as the difference between yourself and the sum of a furry cat and an animal. Speak your mind." :)