[Openmcl-devel] Cockpit Error using SAVE-APPLICATION?

j-anthony at comcast.net j-anthony at comcast.net
Fri Nov 7 17:01:49 UTC 2008

>At one point in the not-too-recent past, it was
>I think that that's fixed (in that the initialization happens in
>the :before method on CCL::APPLICATION and it's no longer necessary

Yes, this certainly seems to be true.  The :before method seems to work
well here.

>As far as your code goes:
>I think that it's still true that your function will run on the initial
>thread.  If that code writes to *TERMINAL-IO*, output to that stream
>may need to be explicitly flushed (via FORCE-OUTPUT).

Yes, as it sits this is true.

>The single thread will own the right to read from the input side of

What are the practical ramifications of this?

>You can get that (and the automatic flushing of output to *TERMINAL-IO*)
>to happen by starting a thread to run CCL::HOUSEKEEPING-LOOP.  That
>wont add too much overhead (the thread will spend 99+% of its time
>(defmethod ccl::toplevel-function ((a aprigo-application) x)

Is this basically equivalent to what
(defmethod toplevel-function ((a lisp-development-system) init-file)
does with the last two things it does:

(%set-toplevel #'housekeeping-loop)

Or maybe it is just the %set-toplevel call that equates to your
"background" process example above?  (Actually, (toplevel) is a bit of a
mystery to me - I tried tracking it down a bit but seems to involve some
sort of "throw :toplevel ... catch :toplevel" idiom/technique.)

>Ideally, it'd be possible to easily define -some- methods on
>a subclass of CCL::LISP-DEVELOPMENT-SYSTEM so that everything
>but the invocation of the REPL happened via the superclass's
>methods and you just ran some other code instead of the

Wouldn't this basically be what the standard toplevel does in creating the
listener process with the call:

(startup-ccl (and *load-lisp-init-file* init-file))

And then you would not follow this with the call it also does:

Sounds a bit hacky, but would this pretty much do the whole thing except
the REPL?


mail2web.com - Microsoft® Exchange solutions from a leading provider -

More information about the Openmcl-devel mailing list