[imp-hackers] cl-ext:exit
Nikodemus Siivola
nikodemus at random-state.net
Fri Jul 10 10:08:52 UTC 2009
2009/7/2 Raymond Toy <toy.raymond at gmail.com>:
> I changed the list a bit late, but cl-ext:exit seems reasonable. But
> you didn't mention exactly what you want cl-ext:exit to do. Can you
> propose something more concrete?
I still intend to do a survey on implementations, but here's my mental
list of things that need to be taken into account (at least partially
already discussed in this thread):
* What is the behaviour wrt. multiple threads if they exist? Should
EXIT always exit all threads? (I'm inclined to say yes.)
* Exit-hooks. I think errors/serious conditions should be dealt with
somehow, but I'm not terribly religious about that.
* at_exit interaction.
* Should support exit without unwinding, should consider how this
related to exit-hooks and at_exit.
* OS status code.
* Behavious wrt. nested exits: what should happen if EXIT is caled
again while unwinding or running exit-hooks.
* Should there be a way to tell that an exit is in progress? (Code
being run by a cleanup form or an exit-hook as part of the exit?)
* Order of exit-hooks and unwinding: which is done first?
* Which parts are optional / implementation dependent?
In my mind this would live in package CL-EXT, which not would be
provided by a library, but by implementations. Of course a portable
one would be easyish to make, but pretty much runs against the idea of
showing that implementations _can_ agree on new things...
Need to consider what is sufficient consensus for something to be put
in CL-EXT. I'm inclined to say "three implementations support the same
function with the specified API in their implementation specific
extension packages and consider that API worth semi-perpetual
freezing" is probably close enough, but that's not the only
possibility by any means.
Cheers,
-- Nikodemus
More information about the implementation-hackers
mailing list