On Feb 1, 2004, at 12:07 PM, Randall Beer wrote:
On Feb 1, 2004, at 1:50 PM, mikel evins wrote:
- Why is it that the Cocoa interface is internal to package CCL?
This violates my sense of aesthetics :-)
My guess would be because most of Gary's work in in package CCL. :-) I see no reason we couldn't change it and put it in package cocoa (or whatever).
The effective part of what I said was not "package CCL", it was "internal", which means that any code using it is also internal to CCL. That's what violates my aesthetics :-)
The OpenMCL Cocoa bridge both currently resides in and is internal to CCL because the ObjC/Lisp interface in OpenMCL is still in flux. As some of you may know, Gary and I have been working on integrating ObjC into CLOS, so that ObjC objects can be created and manipulated as if they are (special kinds of) CLOS objects.
In the current bleeding edge OpenMCL tree, CLASS-OF, FIND-CLASS, MAKE-INSTANCE, DEFCLASS, etc. basically work on ObjC classes and objects, and CLOS methods can be specialized on ObjC classes. There is still work to be done on invoking ObjC methods via generic functions and defining CLOS methods on them, as well as more completely hiding ObjC's retain/release machinery. There is also a lot of clean-up and fine-tuning to be done.
As this work gets done, my hope is that this CLOS interface to Cocoa will eventually replace the Cocoa bridge (even though I wrote it!).
This raises a point about ongoing development of Clotho: I definitely think the way Randall Beer and Gary Byers are approaching the interface to Objective C is the desirable way to go (that is, making Objective C objects look like CLOS objects). Thus, as they progress with their work I'm going to want to change the way that Clotho works to use their new code. That's going to introduce soome thrash into the Clotho project, but I think in the end it'll be worth it.
--me