HTML is a functional, not an imperative, language. Perhaps the reason that you don't recognize this, is that you never knew there is such a thing as a functional computer language. Both types of computer languages tell a computer what to do, but they do it each on their own level. Functional languages don't care how a problem is solved, as long as it is solved. Another example of a functional language is SQL, another example of an imperative language that renders graphics as its core business, is postscript.