> I think Common Lisp has standard-error-hook; I would have copied that > over in the original design. The rest is just an abort with a suitable > message.
It's called *debugger-hook* in Common Lisp. HyperSpec documentation: http://www.lispworks.com/documentation/lw50/CLHS/Body/v_debugg.htm > In any case, it seems weird to me that you don't want the debugger. > Once that condition has aborted it's no longer accessible. I usually program with a text editor (Vim) on the left of my screen, and an REPL on the right. Whenever I need to test a snippet of code in the REPL, I select the relevant snippet in the buffer of the text editor, and press some keys to "send" the selection to the REPL. I stay in the text editor's buffer at all times. Sometimes, the snippet I send will contain bad code, and result in an error in the REPL. If the reason for the error is obvious, I will simply fix the relevant parts in the text editor and re-send the snippet to the REPL. In this workflow, I see no need to be interrupted by the REPL's debugger when the reason for the error is obvious. Only in cases where the error is not obvious, I will leave the text editor's buffer and go into the REPL to use the debugger to find the problem. I have a feeling that my workflow is probably not the "MIT Scheme way". How exactly is MIT Scheme designed to be used?