[info-mcl] digitool (MCL) / clozure (OpenMCL)

Andrew Shalit alms at clozure.com
Wed Oct 10 14:02:19 CDT 2007


The question of whether to provide a detailed Cocoa interface or a  
portable GUI toolkit is something we've been arguing about internally  
at Clozure.

We currently have an objective C bridge that let's you use Cocoa in  
all its glory from Common Lisp.  You can define Common Lisp  
subclasses of Cocoa classes and add Common Lisp methods to Object C  
messages.

This is great if you want to use Cocoa and you want to do it from  
Lisp.  But it does have some downsides.  Some of us have found Cocoa  
to be hard to learn, and to be brittle.  We don't currently have  
particularly good debugging tools to support cross-language  
debugging.  So the experience is very different from that of GUI  
programming in MCL.  We can certainly improve the debugging tools,  
but we don't yet know how easy-to-learn we can make Cocoa.

Of course, this Cocoa stuff is also inherently non-portable.

The other alternative is to create a portable GUI toolkit along the  
lines of what MCL implemented for the Macintosh: this would have a  
simple set of classes and methods for doing the most common things:  
creating windows, creating common widgets, menus, etc.  This could be  
made relatively portable and interactive, and it would by definition  
be easier to learn (because it would be so small).  It could also use  
native look and feel.  But it wouldn't give you the full access to  
the riches of the Mac.

We have our own opinions inside Clozure. Some people love the idea of  
being able to use Core Animation from inside our CL applications.  
Others just want to type (MAKE-INSTANCE 'WINDOW) and have it do the  
right thing.  We'd be very interested in hearing where on that  
spectrum MCL users come down.


On Oct 9, 2007, at 6:04 PM, Raffael Cavallaro wrote:

>
> On Oct 9, 2007, at 3:32 AM, Marco Antoniotti wrote:
>
>> CAPI has a decent cross-platform interface and it has worked well for
>> Lispworks developers; with minor tweaks, most applications work on
>> Linux, Mac OS and Windows.  IMHO what the CL world needs not is yet
>> another single platform thing.
>
> I'd have to disagree here for a couple of reasons.
>
> First, CAPI was ported to Mac OS X last and it shows - it is very un-
> mac-like in a number of ways.
>
> Second, the various GUI and other libraries that are available to
> Cocoa applications on Mac OS X are extraordinary in both their breadth
> and depth. To do a cross-platform lisp is to essentially ignore these,
> since most of these libraries are Mac OS X only (Core Image, AppKit,
> WebKit, Sync Services, etc.). It seems to me that a single platform
> (i.e., Mac OS X only) Common Lisp is precisely what's needed to take
> full advantage of these libraries.
>
> regards,
>
> Ralph
>
> Raffael Cavallaro, Ph.D.
> raffaelcavallaro at mac.com
>
> _______________________________________________
> info-mcl mailing list
> info-mcl at clozure.com
> http://clozure.com/mailman/listinfo/info-mcl




More information about the info-mcl mailing list