Think Stitch
PRINCIPIA  最近の更新


SyncStitch のウィンドウシステム

SyncStitch を見た方の中には、「はて、この妙なウィンドウシステム(ツールキット)は見たことがないな」と思われた方がいるかもしれません。 SyncStitch のウィンドウシステムと UI 部品(ボタン、テキスト入力、スクロールバーなど)はすべて、SyncStitch のモデルと同じ言語、つまり CSP + Scheme で書かれています。 SyncStitch 自身もそうです。

SyncStitch では、すべての UI 部品がそれぞれ独立したプロセスとして動いています。 トップページにある SyncStitch の画面キャプチャにある程度のウィンドウを開いた状態で、約600個のプロセスが動いています。 これはプロセス木の葉の数で、待ち状態にある par ノードを含めると約1,200プロセスあります。

マウスやキー入力などの入力イベントの伝達も、UI 部品間、あるいは UI 部品とモデル(これは MVC の意味でのモデルです。ややこしいですね)間の相互作用もすべて、イベント同期とチャネル通信になっています。 ウィンドウの生成・破棄では、プロセスの動的生成パターンが使われています。

このウィンドウシステムと開発環境は、将来の SyncStitich で公開する予定です。

2013/08/04
© 2013,2014,2015 PRINCIPIA Limited