宣言型プログラミングとは

  • 広義:
    • 処理方法ではなく対象の性質などを宣言することでプログラミングするパラダイム.
  • 狭義:
    • 純粋関数型プログラミング, 論理プログラミング, 制約プログラミングの総称.
    • 数学のための言語. 状態を持たない.

📝宣言性(Declarativity)

プログラミングにおける宣言性. declarativity.

  • 宣言性: declartivity
  • 宣言的: declarative

📝宣言敵ドメインモデル

Declarative Domain Modeling

システムを1つの大きな関数として捉える. 宣言型プログラミング のパラダイムがベース.

🔦システムとは操作と状態とモデルとする1つの大きな関数

system = fn(logic, state, model).

  • system
  • logic: 手続き/操作/プロシージャ
  • state
  • model

ref. Declarative Domain Modeling for Datomic Ion/Cloud - Tiago Luchini - YouTube


他のパラダイムとの関係

手続き型プログラミングの対概念

  • Imperative Programing の対になる概念.
    • “Function without State”
  • Imperative vs Declaretive is also Stateful vs Stateless

HTML は Stateless, Declarative Programming language.

状態はクッキーを導入してしばしば実現する.

📝手続き型プログラミング

📝項書き換え(Term Rewriting)

項書き換え, Rewriting, Term Rewriting, Program transformation.

プログラミングにおいては, ある要素を別の要素に置換する手法の総称. に宣言したルールによって置換する.

数学の写像変換, 式変形みたいなもの.