Вот есть "команда" сделать это: сказал команду -> получил результат.
А есть декларации: есть х, есть y, они так вот связаны с помощью f, нужно получить y, если есть вот такое x. И магия дает(делает) y. В функциональном программировании, например, происходит редукция всего [определения конечного результата] до собственно конечного результата(очень грубо говоря).
На мой взгляд, декларации должны описывать объекты(в широком смысле) и их связи, но я не вижу, что в поттерверс-магии соответствует спецификации связей объектов.
Хотя нет, вижу. Можно, конечно, сказать, что это произнесение заклинания делает такую спецификацию и тут же отправляет её на исполнение, но это ведь неотличимо от просто называния команды/вызова готовой функции.
При этом даже нельзя узнать, дробятся ли заклинания на композицию более простых или на последовательность инструкций. Только способ дробления, мб что-то подскажет.
Поэтому мне кажется, что это вопрос только и исключительно хедканона. Декларативность и императивность программирования определяются семантикой текстов программ. Семантика заклинаний(комбо из слова, жеста и мысли) из канона не ясна, т.е. зависит от хедканона:)