次の語は同義語。
テンプレートのテンプレート変数を、実引数で置換〈substitute | replace〉することを、テンプレート展開〈template expansion〉と呼ぶ。テンプレートへの実引数は、展開のコンテキスト〈context〉とか環境〈environment〉とも呼ぶが、引数〈arguments〉でもよい。
展開過程は次の図式(横棒図〈horizontal-bar figure〉)で表す。
args(context) template ---------------------------- expansion result
テンプレート処理で記述される圏論的オペレータ/コンビネータの典型例は、コンパクト閉圏におけるカリー化/反カリー化。テンプレートは穴=テンプレート変数を含む絵図。絵図テンプレート〈pictorial template〉の処理になる。
絵図テンプレート処理は絵図ラムダ式で表現できる。
f X → Y プロファイル部 ∈ ∈ x |→ E 定義部
または、
x:X -------- f プロファイル部 y:Y where y = E
項の記述には、DOTN3を使う。DOTN3はCatPict〈categorical pictgram〉とも呼ぶ。CatPictは次の構成素からなる。
- アイコン、通常の文字も含む
- 結合記号、, ; など。
- グルーピング記号=囲み記号
- 区切り記号=カンマまたは空白または線
- 描画次元と描画方向の規約
- レイアウトルール
特に、コンパクト閉圏で使えるCatPictを開発すべき。
ついでのメモ: ベクトル空間Vの基底集合Aを使って、任意のベクトルxを表現するとき、次の記法を使う。
この場合、xは so-called"ベクトル・テンソル" であり、ξは so-called"行列" である。CatPictでは、総和記号はそのまま使い続けて、aの部分にピクトグラム〈絵図言語〉を使う。
ピクトグラムによる計算では、絵図テンプレートの定義と絵図テンプレートの展開が多用される。