There is no real restriction that an object oriented language be imperative and, rule of Demeter aside, I think it's been sort of agreed that always returning a value as a result of any given method invocation makes OO languages much nicer (even if side-effects take place as well). However, procedural implies imperative, I believe.
In any case, I always thought language classifications could get a little fuzzy.
In any case, I always thought language classifications could get a little fuzzy.