[info-mcl] MCL Interface Toolkit for Clozure

Terje Norderhaug terje at in-progress.com
Sun Nov 14 17:50:39 CST 2010


On Nov 8, 2010, at 11:03 AM, Ron Garret wrote:
> On Nov 8, 2010, at 10:43 AM, Terje Norderhaug wrote:
> 
>> On Nov 8, 2010, at 7:54 AM, Ron Garret wrote:
>>> I'd say it's freakin' amazing that MCL is still alive.  This is a 25 year old development system.  Not only is it still usable, but it even has at least one feature (interface builder) that is still unmatched in contemporary systems AFAIK.
>> 
>> MCL still stays strong for experimenting with user interfaces and prototyping. It continues to amaze me how easy it is to modify the internals of MCL to create new user experiences. 
> 
> BTW, I would love to see Interface Builder reproduced in CCL.  It would be particularly cool in this day and age to be able to build a UI using an IFB workalike, and then be able to render that interface as a web form.  I don't have time to work on this myself, but I'd be happy to pay someone else to do it.  So if there's anyone out there looking for contract work who wants to tackle this please contact me.


The MCL Interface Tools can generate Cocoa user interface code for Clozure CL. Simply load this experimental addition into MCL or MCLIDE:

   http://www.in-progress.com/src/ift-clozure.lisp

As a demonstration, I built a simple dialog in MCL:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-2.tiff
Type: image/tiff
Size: 41290 bytes
Desc: not available
URL: <http://clozure.com/pipermail/info-mcl/attachments/20101114/a7772d46/attachment.tiff>
-------------- next part --------------


Next, I used the menu item provided by the ift-clozure add-on to generate the enclosed Clozure source:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: clozure-dialog.lisp
Type: application/octet-stream
Size: 2654 bytes
Desc: not available
URL: <http://clozure.com/pipermail/info-mcl/attachments/20101114/a7772d46/attachment.obj>
-------------- next part --------------


Evaluating this generated lisp code in Clozure displayed the dialog below, demonstrating that Clozure user interfaces can be built using MCL's Interface Tools:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-3.tiff
Type: image/tiff
Size: 49842 bytes
Desc: not available
URL: <http://clozure.com/pipermail/info-mcl/attachments/20101114/a7772d46/attachment-0001.tiff>
-------------- next part --------------


I conveniently used MCLIDE to generate and evaluate the Clozure code, but it can of course also be done by manually moving the code in between MCL and Clozure.

Note that ift-clozure is immature/experimental, so results will vary. For example, generating a Clozure dialog from MCL's Apropos dialog shows that there are "room for improvements":

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-4.tiff
Type: image/tiff
Size: 69334 bytes
Desc: not available
URL: <http://clozure.com/pipermail/info-mcl/attachments/20101114/a7772d46/attachment-0002.tiff>
-------------- next part --------------


-- Terje Norderhaug







More information about the info-mcl mailing list