A Concurrent Window System


When implemented in a concurrent language, a window system can be concise. If its client programs connect to the window system using an interface defined in terms of communication on synchronous channels, much of the complexity of traditional event- based interfaces can be avoided. Once that interface is specified, complex interactive programs can be assembled, not monolithically, but rather by connecting, using the same techniques, small self-contained components that each implement or modify elements of the interface. In particular, the window system itself may be run recursively to imple- ment subwindows for multiplexed applications such as multi-file text editors. This is the software tool approach applied to windows.

See Also