尝试最小化状态带来的副作用，因此被认为是宣告式的。大多数函数式编程语言，例如Scheme、Clojure、Haskell、OCaml、Standard ML和Unlambda，允许副作用的存在。
逻辑式编程.逻辑式编程语言如Prolog声明关系并且对关系进行提问。同函数式编程一样，许多逻辑编程语言允许副作用的存在。
外部连结.「宣告式」与「指令式」