This reminds me of experiments I did in using Lua to generate SVG. With a little work, I thought it could make a useful replacement format for vector graphics (if anyone would adopt it; not too likely). It was nice to able to use control structures, especially loops and random numbers, to generate images. I definitely think XML is not the best format. Maybe something based on Haskell or some other functional language could work?
If you found that interesting, check out Pov-Ray. It does the same thing with 3D. Doesn't output any kind of vector format (that I know of), but the scenes are all described in a Turing-Complete language like that.
I think they did that because it's like a bind, i.e. circle 5 <|> rect 8 8 puts a <circle> out first then a <rect> so it seems kind of like the IO monad in that it's ordered