基本はフローグラフだな。フローグラフは集合圏上のモナドになる。$`\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\In}{\text{ in }}
\newcommand{\twoto}{\Rightarrow}
\newcommand{\Id}{\mathrm{Id}}
%`$
- $`\mrm{FlGrph}:{\bf Set} \to {\bf Set}\In {\bf CAT}`$
- $`\mu :: \mrm{FlGrph}*\mrm{FlGrph} \twoto \mrm{FlGrph} :{\bf Set} \to {\bf Set}\In {\bf CAT}`$
- $`\eta :: \Id_{\bf Set} \twoto \mrm{FlGrph} :{\bf Set} \to {\bf Set}\In {\bf CAT}`$
これは置換〈substitution〉演算。テンプレート展開と言ってもいい。
このモナドのクライスリ射は、スケルトン〈テンプレート〉キットになる。ベース圏である集合圏を inclusive category と考えて、ゆるい結合に基づくクライスリ結合を定義できる。特に、単元集合からのクライスリ射は単一のスケルトン〈テンプレート〉になる。
特別なスケルトンキット〈クライスリ射〉として、セレクター(部分集合の選択と包含)、リネーム(単射)、マージ(集合の直和)などがある。やっていることはモジュールの計算と同じ。
フローグラフモナドで集合は0-指標とみている。0-指標のモナドは、名前にノート〈記述子〉を対応させることで、ノートキットになる。ノートキットが1つあると、スケルトンキットから仮想ノートキットを生成できる。
仮想ノートキットをマテリアライズして成果物を生成できる。成果物には次のようなものがある。
- コース教科書
- スライド
- ナレーション原稿
- 講師用台本
- 書籍
- 広報記事
- Webサイト/Webページ