Имхо, в наше время идет тотальная путаница с данным термином в связи с расцветом ФП парадигмы.
Кое-кто даже умудряется увязывать это определение с отсутствием ссылочной прозрачности.
Это все идет из-за противопоставления императивный-функциональный.
ИМХО, все тут просто должно быть. Императивный - инструкции для исполнителя. Декларативный — описательный стиль, как будто нет исполнителя. На этом разница заканчивается. Никакого отношения к ФП или ссылочной прозрачности, чистоте, эти термины иметь не должны. А как думаете вы?