[Openmcl-devel] Lisp User Interface LUI

Terje Norderhaug terje at in-progress.com
Fri Jan 9 05:41:32 UTC 2009

On Jan 2, 2009, at 11:30 AM, Alexander Repenning wrote:
> This may be a good moment to discuss some of the ideas regarding  
> the creation of LUI, the "Lisp User Interface as a cross platform,  
> but Mac first" open source GUI tool.

One technique that I have found very useful through the years is to  
automatically generate the user interface from extended/amended type  
declarations of the information to be presented and/or modified.  I  
know other LISP developers are using similar strategies.

For example, I have a DEFPREFERENCE macro to notify the application  
about which values should be user-modifiable preferences.
The application generates a Mac "Preferences" dialog based on the  
various preferences declared in the application, like this:
(defpreference webmaster ""
  (:documentation "The name of the webmaster")
  (:type string)
  (:title "WebMaster")
  (:description "The webmaster is the person that maintains the  
  (:keywords "website" "username")
  (:group maintainance))

Here is an old documentation page:


CL-HTTP has a module that implements the same functionality with a  
very similar syntax:


This approach provides a foundation for portable user interfaces.

-- Terje Norderhaug

More information about the Openmcl-devel mailing list