CLM

CLM is an interface to the Motif Graphics Toolkit. Actually there exist two independent, slightly incompatible Motif interfaces based on the same idea that are often called CLM:

In 2000 there was some movement on the cmucl-imp mailing list to port GINA to CMUCL/Motif, and unify on CMUCL/Motif, but it is unknown by the author what the current status of that project is.

Both interfaces are based on the same idea: They consist of two parts, a C-based server daemon, that links to the Motif libs, and the actual Common Lisp interface code, which communicate across a socket using an extensible protocol. Furthermore the C source-code for the server daemon is automatically generated from Common Lisp specifications. This provides for a fairly hassle-free (no FFI code, no wrestling with the GUI toolkit to get control of the event-loop, etc.) environment, that can be easily extended for access to new widgets, or (theoretically) even completely new toolkits.

If present, the toolkits can be integrated with CLX, so that you can combine low-level X primitives with high-level Motif code, if wanted.

As it stands, CMUCL/Motif provides a solid basis for GUI applications on X/Motif. Since it is a fairly direct translation of Motif widgets, functions and concepts to CL, while leaving the ugliness of C behind (much like CLX does for X11/Xlib), Motif experience and documentation can be re-used as-is. With a couple of utility functions and macros, for widget creation, management, etc., creating GUIs with CMUCL/Motif can be quite similar to programming with Lispworks' CAPI.

CMUCL also comes with CMUCL/Motif-based debugger, inspector and control-panel, that can be enabled if CMUCL/Motif is loaded.


This page is linked from: cl-gtk   clg  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively