As an exercise in Haskell, I wrote a monad which threads random-number generation state through a context-free grammar, allowing the creation of arbitrary yet valid sentences. This was kind of clever.

Then I used it to generate a series of descriptions of bands of warriors along the lines of Homer's Catalogue of Ships. The results are kind of stupid.

@amightyhost