Go to the first, previous, next, last section, table of contents.

Interrupting Scheme

Inevitably, you'll sometimes code routines that get stuck in infinite loops (or infinite recursion). You need to know how to stop such loops and get back to the normal Scheme interaction prompt. Scheme systems generally allow you to "interrupt" what the system is doing, and get a new prompt.

In most UNIX-based Scheme systems, you can use <ctrl>-C, i.e., hold down the CONTROL key and hit the c key, to send an interrupt. In other systems, there will be another keyboard command or a button or menu item you can click. Find out what the command is for your system. You'll need it.

In general, if the system hangs, you should check to see if you closed all of the parentheses you opened--it may just be waiting for you to finish your input. If that doesn't work, and you think the program is stuck in an infinite loop, or some other computation you don't want to wait for, interrupt it with <CTRL>-C or the equivalent on your system.

It's possible that even this won't work. After all, Scheme systems can have bugs, too. In very unusual circumstances, you may have to kill the Scheme program more brutally. If you're using a window system, you may be able to just kill the window Scheme is running in. Under UNIX, you can use the ps command to figure out the process ID of the Scheme process, and kill it with the kill command. (This may require the -9 option.)


Go to the first, previous, next, last section, table of contents.