A multi-threaded higher-order user interface toolkit
Emden R. Gansner, John H. Reppy · 1993
This article describes eXene, a user interface toolkit implemented in a concurrent extension of Standard ML. The design and use of eXene is inextricably woven with the presence of multiple threads and a high-level language. These features replace the object-oriented design of most toolkits, and provide a better basis for dealing with the complexities of user interfaces, especially concerning such aspects as type safety, extensibility, component reuse and the balance between the user interface and other parts of the program. 4.1 INTRODUCTION In two previous papers [Rep86, Gan92], we have advocated an approach to the design of a foundation for graphical user interfaces and interactive applications. In our view, such a foundation includes support for concurrency, strong static typing, higher-order programming (i.e., functions as values), support for modular program construction, and automatic memory management. This article describes a multi-threaded X window system toolkit, called eXene...