フローグラフ

基本はフローグラフだな。フローグラフは集合圏上のモナドになる。$`\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つあると、スケルトンキットから仮想ノートキットを生成できる。

仮想ノートキットをマテリアライズして成果物を生成できる。成果物には次のようなものがある。

  1. コース教科書
  2. スライド
  3. ナレーション原稿
  4. 講師用台本
  5. 書籍
  6. 広報記事
  7. Webサイト/Webページ