Sun's Common Lisp GUI package, LispView , takes this approach: we have taken advantage of standard C toolkit and window system libraries.
LispView also works well with the OpenWindows Deverloper's Guide (Devguide).
We found CLOS to be an excellent framework for implementing the LispView API.
In general, LispView objects are defined with CLOS classes, created with the CLOS generic function make-instance, and managed with CLOS methods.
LispView takes advantage of many of the object-oriented programming features that are unique to CLOS (e.
Multimethods are used in the LispView input system to dispatch from window system events to application-specific methods.
LispView windows specify the types of events they are going to handle with list interest objects.
A wide variety of applications are being developed with LispView in both the commercial and research arenas.