http://www.gigamonkeys.com/book/beyond-exception-handling-co...
http://www.gigamonkeys.com/book/beyond-exception-handling-co...
1) interactive debugger
2) programmatical
There is another one:
3) restart dialog
The program presents you a list of restarts, for example in a GUI dialog, and the end user can select a restart - without interacting with a debugger.
The debugger is just one program, which may display the restarts.
That's how one used it in applications on a Lisp Machine. To call a debugger could be an option in the list of restarts. For real real end users, even the call to the debugger might not be available and all they can do is to choose an option from the list of restarts. Symbolics offered something called 'Firewall', which did all it can to hide the underlying Lisp system from the end user - here the end user should not interact with a debugger or Lisp listener.
But even in a Lisp listener, if you used the 'Copy File' command you might get a dialog shown with the typical options: abort, try again, use other file, enter debugger, ...
https://github.com/matlisp/matlisp-optimization/blob/master/...
As a fellow Indian lisper, are you by any chance using CL for work ?
Last I heard, the only big CL shop, cleartrip, moved all their codebase to Ocaml.
I used to work at Cleartrip a long time back, before they moved off Lisp.
Any insider info on why cleartrip moved away from Lisp ?