依存性グラフとフローグラフと関与宣言

関与宣言(関与宣言 - (新) 檜山正幸のキマイラ飼育記 メモ編)が必要になったのは、ソフトウェアの構造の記述のためだが、これは一般論になるだろう。

静的構造、あるいは時間とは関係しない空間的な依存性グラフ〈dependency graph〉ができる。これは、情報内容としては関与宣言と同じ。

一方、フローグラフ〈flow graph〉は時間を表現している。繰り返しのループを含めて、時間方向にどう展開するかの情報が入る。コース設計はフローグラフの設計になる。

依存性グラフでも、どの時点で依存するか? の別があるので、それをフェーズとして導入した。

require on setup {foo, bar} from 'setup-lib.mjs' via global

オープングラフを考える場合もオープンの仕方が:

  • 型を表現するワイヤーがオープンしている。
  • 具体的なノードへの参照を持っているが、そのノードは含まれない(ダングリングエッジ)

一番目はインターフェース・オープン、二番目はダングリング・フラグメントと呼ぶべき。インターフェース・オープンなグラフのグラフティングと、ダングリング・フラグメントのグラフティングは違う。