[Openmcl-devel] Lisp User Interface LUI
Terje Norderhaug
terje at in-progress.com
Thu Jan 8 21:41:32 PST 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
website.")
(:keywords "website" "username")
(:group maintainance))
Here is an old documentation page:
http://interaction.in-progress.com/developer/reference/
defpreference?id=5anoc
CL-HTTP has a module that implements the same functionality with a
very similar syntax:
http://cl-www.msi.co.jp:8000/cl-http/contributions/truss/
preferences.lisp
This approach provides a foundation for portable user interfaces.
-- Terje Norderhaug
More information about the Openmcl-devel
mailing list