声明式编程语言有语句吗?

Do declarative programming languages have statements?

声明式编程语言有语句吗?

或者换句话说,语句是命令式语言特有的吗?

我不知道我是否100%正确,但我的理解是这样的:

命令式语言,无论它们是过程式的(如 C)还是面向对象的(如 Java 或 C++),通过包含许多 赋值语句,它会改变它们赋值给的变量,作为直接结果,改变程序的状态。这个语句流是由所谓的控制流控制的,广义上就是程序中的各种条件或无条件跳转(if语句,循环等)。

声明式语言 另一方面,工作方式大不相同,尤其是取决于语言的子类型:

  • 例如,函数式语言(例如 Scheme 和 Haskell)将它们的程序编写为一系列表达式,这些表达式组合成函数。然后将这些函数应用于提供给程序的输入,并产生输出。从本质上讲,它的工作方式类似于数学意义上的函数:它将域中的值映射到范围中的值。
  • 逻辑或基于约束的语言,例如 Prolog,其程序表示为一系列事实、规则或查询,然后由(定理证明)引擎处理。