データ構造の階層関係
より広範な概念から順番に?
もともと「デカルト閉圏 → DG → DAG → Tag → Tree → List」を考えていたんだけど、chatgpt.icon的にはこうreviseしたほうがいいって。
明確に包含関係にあるのは「DG → DAG(+非巡回性) → Tree(+単一親) → List(単一子)」。
Set(集合)はどう考える?
CCC; Closed Cartesian Category
プログラミング言語における型
射そのものを対象にすることができる
CCC構造を持つハイパーテキストは構成可能か?
つまりページからページへのリンクではなく、リンクからページ、ページからリンク、リンクからリンクへのリンクをを作ることは出来るか? そしてそれはどういう意味を持つか?
Directional Graph(有向グラフ)
相互参照を許容する
ハイパーリンクはコレ
CMSのデータ設計は須らくDGとして設計されていたほうがいいんじゃないか
DAG; Directed Acyclic Graph(非巡回有向グラフ)
DGに対して「非巡回性」という制約を付与したもの
Program Dependency Tree
Reactive Programming
ノードベースUI
Bipartite Graph(2部グラフ)
オブジェクト(括られるもの; 対象)とタクソノミー(分類子; タグ)の二元論
CMS、ファイルシステムでいうTag
ラベル、ハッシュタグ
オブジェクトは複数のタグに紐づけることができる
Tree
DAGに「親が一つだけ」という制約
ファイルシステム
ディレクトリ(括るもの)とファイル(括られるもの)
Redditのような電子掲示板
List
Tree Sturcutreに「子が一つだけ」という制約
圏論: 始代数
型理論: inductive type(List, Nat)
ある元から後続する元へと対応付けるsucc: a -> a が存在する?
自然数、タイムライン、ストリーム
2ch, 5chのような電子掲示板
>>1 のような参照を通して、DGを構成することが出来る
Redditと違って、後続する未来のレスに対してもリンクを張ることができる
SNSのタイムラインという概念は、ハイパーテキストが元来持っていたDGとしての性質を喜捨して、Listという構造の表現力の乏しいものにした
リツイートという概念は、DAG性の付与? けど単一親ではあるから違う