[Openmcl-devel] Cocoa environment statup speed-up?

Sebastian Nozzi sebnozzi at gmx.net
Thu Jun 10 04:32:33 PDT 2004


First of all, thanks to all of you who answered my "Smalltalk model" 
related questions.

Gary Byers wrote:

 > There's an "example":
 >
 > "ccl:examples;cocoa-application.lisp"
 >
 > that saves an image inside the "ccl:OpenMCL.app" application bundle;
 > when you then double-click on that bundle, it should start up a lot
 > quicker than the original call to
 >
 > ? (require "COCOA")
 >
 > did.

"A lot quicker"... like "almost instantly", I would say!
Hey, this has really potential. Thanks for the tip.
And since my emacs (Cocoa build) crashes every once and then I have now 
adopted this launchable cocoized openMcl as my dev. environment.
With the hemlock editor it will surely be awesome!

 > 2) Because of the way that the ObjC bridge currently works (the ways
 > in which it builds it model of what ObjC classes and methods exist and
 > the way that this information is integrated with CLOS), a saved image
 > is dependent on the -exact- versions of the Cocoa libraries that were
 > present when it was saved (e.g., something saved under OSX 10.3.2
 > doesn't work under 10.3.3).

If I had to redistribute an application I would try to do the following:
1) A tiny app (doesn't need to be the lisp one) is first launched that 
checks that the image and the exact OS version match
2) If they don't build the image as in "cocoa-application"
3) Launch the actual lisp application

All this packed in an app-bundle.

I really wouldn't mind if for the first time I run an app or after an OS 
update I had to wait a few seconds for an app to rebuild its image. You 
can put a friendly dialog ala Microsoft "The system is applying 
changes... this could take some minutes... take a cup of coffee..."




More information about the Openmcl-devel mailing list