Think Stitch

The Window System of SyncStitch

I guess some SyncStitch user might think "What is this strange window system? I've never seen this." The window system and UI parts (buttons, text edits, scroll bars, etc.) are written in the same language used in SyncStitch models, i.e. CSP + Scheme. SyncStitch itself is also written in the language.

All UI parts are running as independent processes on SyncStitch. For example, there are approximately 600 processes running in the situation of the screen capture shown on the top page of this site. This is the number of leaf processes. The total number of processes including the nodes for par waiting for child processes is around 1,200.

Input events such as mouse inputs and key inputs, and interactions between UI parts and models (this model means models in MVC, Model-View-Controller, not SyncStitch models :P) are realized as event synchronizations and channel communications. The modeling pattern of dynamic creation of processes is used for implementing dynamic window creation and discard.

This window system and its development environment is planned to be opened in the future version of SyncStitch.

4 August, 2013