[Openmcl-devel] Cocoa

Gary Byers gb at clozure.com
Thu Dec 3 01:21:10 PST 2009

We've done some work on supporting Cocotron on Windows, but that
work isn't released yet (and isn't even at the point where we can
provide any kind of support for it.)  If anyone really wants to
play around with it I can explain how, but at this point we can't
really respond to bug reports or other feedback; if you're looking
at this as a way to learn Cocoa, you might or might not find it useful.

Cocoa's huge; Cocotron does a fairly good job of implementing a large
subset of Cocoa and it's under active development, but it's not too
hard to run into things that're implemented in Cocoa but not (yet)
present in Cocotron or to run into things that're implemented differently
(and in some cases incorrectly.)

The general idea is that the Windows svn tree for CCL will eventually
contain a "cocotron" subdirectory which contains the Cocotron libraries
and other resources.  That directory's currently maintained in a separate
part of the svn heirarchy and it has to be installed manually, via 
something like:

shell> cd ccl
shell> svn co http://svn.clozure.com/publicsvn/openmcl/trunk/aux/cocotron/win32/cocotron

That'll create and populate a ccl/cocotron directory; among other things,
that directory may contain one or more .patch files that describe the
changes (relative to some Coctron svn revision) made to the Cocotron sources
to produce the .dlls that we distribute.  (That might include patches
that've been submitted to the Cocotron project that haven't been accepted
yet or patches that for whatever reason haven't been submitted yet.)

svn won't consider the cocotron directory to be part of the ccl hierarchy, so:

shell> cd ccl
shell> svn up

won't update it; it's necessary to do:

shell> cd cocotron
shell> svn up
shell> cd ../

It may be the case that at the moment the cocotron directory can be installed
into a CCL 1.4 tree; if that's true, it's because the trunk and 1.4 haven't
yet diverged in ways that the Cocotron support depends on.  In general, Cocotron-
specific changes are more likely to be made in the trunk than in a release tree,
so if you're interested in tracking those changes (a) you're insane and (b)
you should probably be using the trunk.

With that directory in place, you should be able to do:

? (require "COCOA")

and will see some warnings about unimplemented methods that you wouldn't see
on a Mac; you should also see a listener window appear.  Bits and pieces of
the IDE are incidentally functional, but at this point the IDE exists more
because it provides a way to run a Cocoa event loop than because it's useful
in and of itself.  (If things in the IDE work, that's a pleasant surprise;
if they don't, that's neither pleasant or a surprise.)

Congratulations!  Now you're on your own ...

On Mon, 30 Nov 2009, Greg Bennett wrote:

> Thanks to a reply from Paul Krueger,  I now see how I might download
> cocotron materials to go with my newly installed clozure (ccl), and I
> should like to be sure of putting
> them in the correct place.
> Instructions for getting  ccl told me to issue the svn
> request in a directory not already containing a lisp, and that a ccl
> directory
> would be created there holding all the files; true enough.
> I did not find directions/suggestions about installation location(s), but
> my guess is that clozure/ccl will expect to find the cocotron material
> as a subdirectory
> of the ccl home-directory. That would see me issuing the svn for
> cocotron *inside*
> my new ccl directory. I would be grateful either for confirmation of
> this hypothesis,
> or for its correction should I be in error.
> Cheers /GregB
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list