[info-mcl] digitool (MCL) / clozure (OpenMCL)
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
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
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.
> Raffael Cavallaro, Ph.D.
> raffaelcavallaro at mac.com
> info-mcl mailing list
> info-mcl at clozure.com
More information about the info-mcl