[elephant-devel] Re: Postmodern: Removing the ABORT restart

Alex Mizrahi killerstorm at newmail.ru
Wed May 7 10:24:07 UTC 2008


 ??>> sorry, i didn't get -- what is "ABORT restart",

 LPP> http://www.lisp.org/HyperSpec/Body/res_abort.html

"Typically, in an interactive listener, the invocation of abort returns to 
the Lisp reader phase of the Lisp read-eval-print loop, though in some batch 
or multi-processing situations there may be situations in which having it 
kill the running process is more appropriate."

are you sure that it is a good idea to make it returning to a random point 
in program (after with-transaction) rather than to a command prompt (what 
people would expect)?
and if people want to abort transaction only, can't they just call 
abort-transaction?

 ??>> how does it lose the controller

 LPP> After invoking this restart, the controller is gone. I don't know
 LPP> exactly why, but I suppose the reason is that the current transaction
 LPP> isn't aborted.

maybe we'll better fix this bug? non-local control transfer should correctly 
abort transaction.
i think "controller lost" is only possible when when something awful happens 
to the socket.
i can't reproduce "controller lost" via abort restart.
i.e. i run such code

(ele:with-transaction () (make-instance 'something) (error "barf"))

and when SLIME debugger opens, i choose ABORT restart, and it returns to 
REPL.
and works quite fine afterwards..

if you have that "controller lost" thing reproducible, please share how to 
reproduce this 






More information about the elephant-devel mailing list