notes mizzy.org

IaCが必要とする再利用は検証済みパターンのパラメータ付き合成であって任意計算ではない

規範的主張 出典: explorations/2026-06-10-carina-type-system-type-theory/design-position.md §3, explorations/2026-04-26-cross-dsl-design-position/carina-position.md §6 作成/ 更新

IaCが本当に必要とする再利用は、検証済みパターンのパラメータ付き合成であって、任意計算ではない。それはモジュール・for・exportsという有界な合成手段 — すべて蒸発条件を満たす — で足りる。

汎用言語に人が求める「表現力」の実態の多くは繰り返しの除去であり、チューリング完全性はそれに対して過剰である。必要なのは「同じ形のものをN個作る」「同じ構成をパラメータ違いで使い回す」であって、「任意の計算をして構成を導く」ではない。

実需要を分解すると三つに収まる。

経験的な裏付けもある。Terraformは高階関数なしで長年成立しており、for_each / dynamicで大半の用途を満たしている。Bicepは意図的に高階関数を入れず、funcのみでAzure IaCとして広く使われている。CDK / Pulumiでの高階関数の実際の活用も、命名関数やmapでのループ程度が中心で、Constructを関数で渡す/返すパターンは現場では稀である。

つまり高階関数は「あれば嬉しいが必須ではない」機能かもしれない、という位置づけになる。

根拠の確度

「Terraformが高階関数なしで長年成立している」は一般知識ベースで、統計的な用法調査に基づくものではない。「現場では稀」も同様に印象ベースの観察。

#設計原則 #再利用 #dsl