[Openmcl-devel] we need more aliens and beggars on the list who use GUIs (wws2)
Paul Krueger
plkrueger at comcast.net
Mon Apr 5 06:42:55 PDT 2010
On Apr 5, 2010, at 4:15 AM, wws2 new wrote:
>
> On Apr 4, 2010, at 6:00 PM, openmcl-devel-request at clozure.com wrote:
>>
>> Message: 1
>> Date: Sun, 4 Apr 2010 08:37:51 -0600
>> From: Alexander Repenning <ralex at cs.colorado.edu>
>> Subject: Re: [Openmcl-devel] we need more aliens and beggars on the
>> list who use GUIs
>> To: wws2 new <ww.s2 at ukonline.co.uk>
>> Cc: openmcl-devel Devel <openmcl-devel at clozure.com>
>> Message-ID: <89F72F1A-40A8-416E-868C-2DA151C365BE at cs.colorado.edu>
>> Content-Type: text/plain; charset="us-ascii"
>>
>> Sounds like XMLisp (= CCL + Cocoa + OpenGL + Layout managers) may
>> be worth a shoot: http://code.google.com/p/xmlisp/
>>
>
> I will take a look... but I gather from discussions on this list and
> a quick look that it is not in LISP. It appears to have both much
> more than I advocate making part of CCL, and a little less. A
> Little less, because it appears to bypass defining a simple and
> relatively complete LISP-GUI, and much more as it appears to go on
> to develop a rich set of specialised applications. So as far as I
> cant tell, from a quick look, is that it would be possible to define
> that middle LISP-GUI layer and strip it out. More below...
You may also want to take a look at my contrib directory: ...ccl/
contrib/krueger/InterfaceProjects. This shows how to interface with
Cocoa from within Lisp. I also started with Coral way back when and
liked what MCL had, so I understand what you are looking for; but at
the same time I've come to believe that any truly native Lisp GUI is
bound to be incomplete and will become obsolete very quickly. There is
a more expanded version of this argument in the tutorial document
contained in my contrib directory.
So instead I have been working towards making it as easy as possible
to access Cocoa from within Lisp. I advocate using Apple's Interface
Builder to do the fundamental design and Lisp code to provide data and
interface functionality. If you buy into that approach you may find my
tutorial helpful. If you don't, then some expansion of the EasyGui
code (...ccl/examples/cocoa/easygui) might be more to your liking.
In the next month or so I plan to check in an update that provides a
number of new things including a plug-in for Interface Builder that
provides a "lisp controller" object that is very similar to the
"NSArrayController" and "NSTreeController" objects that Objective-C
Cocoa programmers have. But this controller knows how to manage lisp
objects. It allows programmers to display arbitrary Lisp objects using
NSTableViews or NSOutlineViews with little to no knowledge of
Objective-C. In fact, the programmer will implement much of the needed
functionality within Interface Builder by providing lisp
initialization and accessor forms. This certainly isn't everything
that you're looking for (it isn't everything that I'm looking for
either), but it demonstrates how to start to make Cocoa accessible to
Lisp developers. I have had this code working for a couple of months,
but there are so many possible variations of what it can do that
generating test cases to debug all the code paths and corresponding
documentation for each example is consuming a lot of time.
After that I want to provide similar support for more advanced
graphics apps, which I suspect from your examples is closer to what
you ultimately want.
Regards,
Paul
More information about the Openmcl-devel
mailing list