[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