[Openmcl-devel] Lisp User Interface LUI (was: Currency Converter Example)
gb at clozure.com
Sun Jan 4 01:44:33 PST 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,
Another candidate that's worth looking at is SWT
- 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
- there's a small army of people working on it and there are many
commercial and open-source projects (including Eclipse) that depend on
- 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
- 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