CLIM: the Common Lisp interface manager
The essence of an application is a set of objects and a set of operations on those objects. The essence of the behavior of an application's user interface is similar to Lisp's read-eval-print loop: the user specifies what he or she wants to do (perhaps via a menu or a dialog or a direct manipulation), the application performs the operation, and then the result of that operation is displayed. The Common Lisp Interface Manager (CLIM) is a system for constructing portable users interfaces in a way that directly connects the objects and operations of an application to the objects of its user interface.