[Openmcl-devel] Lisp User Interface LUI (was: Currency Converter Example)

Gary Byers gb at clozure.com
Sun Jan 4 09:44:33 UTC 2009



On Fri, 2 Jan 2009, Ron Garret wrote:

>
> 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.
>> 
>> At this point a very early prototype exists for CCLmac Intel/PPC with 
>> classes implemented in Cocoa including: buttons, windows, sliders, labels, 
>> editable text, images, sound, speech, Web browser view, OpenGL, ..
>> 
>> The main question is how to bring this to Windows or more specifically to 
>> CCL windows. Who has some ideas, time to hack stuff, experience with 
>> Windows lisp hacking etc. Some ideas tossed around so far are: Cocotron, 
>> GNUstep, native win32, .NET,
>
> http://cappuccino.org/
>
> rg

Another candidate that's worth looking at is SWT
(<http://www.eclipse.org/swt/>).

Some advantages:

  - it's mature, relatively featureful, and supports native look-and-feel
    on a wide variety of platforms

  - it's largely implemented in native (non-Java) code; performance issues
    that may have affected other Java UI toolkits apparently don't affect
    SWT

  - there's a small army of people working on it and there are many
    commercial and open-source projects (including Eclipse) that depend on
    it

Some disadvantages:

  - SWT's OSX support is still 32-bit and Carbon based, though the intent is
    to provide 64-bit (I think ...) Cocoa support (I'm sure) in the next
    release

  - CCL's support for Java is embryonic;  it's not clear if or how it'd
    be possible to do some of the things (subclassing foreign classes at
    runtime, etc.) that're possible in ObjC, and it'd probably require some
    thought to determine how best to integrate Java and CCL.

What support is there (in the trunk) is a port of Rich Hickey's 'jfli'
Java<->CL interface which seems complete enough to run a very simple
SWT demo.  (Except for the 64-bit OSX issues, this demo should work on
all platforms that CCL 1.3 will run on, assuming that the SWT classes
and shared libs can be found.)  How near or how far that is from
providing a useful and usable portability layer (does "write once, run
anywhere" sound familiar ?) is hard to know.




More information about the Openmcl-devel mailing list