3.7 Program Execution And Interruption

Execution of a program is started by giving the system a query that contains a call to one of the program’s predicates.

Only when execution of one query is complete does the system become ready for another query. However, one may interrupt the normal execution of a query by typing ^C. This ^C interruption has the effect of suspending the execution, and the following message is displayed:

Prolog interruption (h or ? for help) ?

At this point, the development system accepts one-letter commands corresponding to certain actions. To execute an action simply type the corresponding character (lower or upper case) followed by RET. The available commands in development systems are:


aborts the current computation.


continues the execution.


exits from SICStus Prolog, closing all files.


lists available commands.


invokes a recursive top-level.


switch on the debugger. See Debug Intro.

If the standard input stream is not connected to the terminal, e.g. by redirecting standard input to a file or a pipe, the above ^C interrupt options are not available. Instead, typing ^C causes SICStus Prolog to exit, and no terminal prompts are printed.

Send feedback on this subject.