When an error occurs in a LISP 1.5 program, a diagnostic giving the nature of the error is printed out. The diagnostic gives the type of error, and the contents of certain registers at that time. In some cases a back-trace is also printed. This is a list of functions that were entered recursively but not completed at the time of the error.
In most cases, the program continues with the next doublet. However, certain errors are fatal; in this case control is given to the monitor Overlord. Errors during Overlord also continue with Overlord.
A complete list of error diagnostics is given below, with comments.
Interpreter Errors:
A 1 | APPLIED FUNCTION CALLED ERROR |
The function error will cause an error diagnostic to occur. The argument (if any) of error will be printed. Error is of some use as a debugging aid. | |
A 2 | FUNCTION OBJECT HAS NO DEFINITION - APPLY |
This occurs when an atomic symbol, given as the first argument of apply, does not have a definition either on its property list or on the a-list of apply. | |
A 3 | CONDITIONAL UNSATISFIED - EVCON |
None of the propostiions following COND are true. | |
A 4 | SETQ GIVEN ON NONEXISTENT PROGRAM VARIABLE - APPLY |
A 5 | SET GIVEN ON NONEXISTENT PROGRAM VARIABLE - APPLY |
A 6 | GO REFERS TO A POINT NOT LABELLED - INTER |
A 7 | TOO MANY ARGUMENTS - SPREAD |
The interpreter can handle only 20 arguments for a function. | |
A 8 | UNBOUND VARIABLE - EVAL |
The atomic symbol in question is not bound on the a-list for eval nor does it have an APVAL. | |
A 9 | FUNCTION OBJECT HAS NO DEFINITION - EVAL |
Eval expects the first object on a list to be evaluated to be an atomic symbol. A 8 and A 9 frequently occur when a parenthesis miscount causes the wrong phrase to be evaluated. |
Compiler Errors:
C 1 | CONDITION NOT SATISFIED IN COMPILED FUNCTION |
Character-Handling Functions:
CH 1 | TOO MANY CHARACTERS IN PRINT NAME - PACK |
CH 2 | FLOATING POINT NUMBER OUT OF RANGE - NUMOB |
CH 3 | TAPE READING ERROR - ADVANCE |
The character-handling functions are described in Appendix F. |
Miscellaneous Errors:
F 1 | CONS COUNTER TRAP |
The cons counter is described in section 6.4. | |
F 2 | FIRST ARGUMENT LIST TOO SHORT - PAIR |
F 3 | SECOND ARGUMENT LIST TQG' SHORT - PAIR |
Pair is used by the interpreter to bind variables to arguments. If a function is given the wrong number of arguments, these errors may occur. | |
F 5 | STR TRAP - CONTINUING WITH NEXT EVALQUOTE |
When the instruction STR is executed, this error occurs. If sense switch 6 is down when an STR is executed, control goes to Overlord instead. | |
G 1 | FLOATING POINT TRAP OR DIVIDE CHECK |
G 2 | OUT OF PUSH - DOWN LIST |
The push-down list is the memory device that keeps track of the level of recursion. When recursion becomes very deep, this error will occur. Non-terminating recursion will cause this error. |
Garbage Collector Errors:
GC 1 | FATAL ERROR - RECLAIMER |
This error only occurs when the system is so choked that it cannot be restored. Control goes to Overlord. | |
GC 2 | NOT ENOUGH WORDS COLLECTED - RECLAIMER |
This error restores free storage as best it can and continues with the next doublet. |
Arithmetic Errors:
I 1 | NOT ENOUGH ROOM FOR ARRAY |
Arrays are stored in binary program space. | |
I 2 | FIRST ARGUMENT NEGATIVE - EXPT |
I 3 | BAD ARGUMENT - NUMVAL |
I 4 | BAD ARGUMENT - FIXVAL |
Errors I 3 and I 4 will occur when numerical functions are given wrong arguments. |
Lap Errors:
L 1 | UNABLE TO DETERMINE ORIGIN |
L 2 | OUT OF BINARY PROGRAM SPACE |
L 3 | UNDEFINED SYMBOL |
L 4 | FIELD CONTAINED SUB - SUBFIELDS |
Overlord Errors:
O 1 | ERROR IN SIZE CARD - OVERLORD |
O 2 | INVALID TAPE DESIGNATION - OVERLORD |
O 3 | NO SIZE CARD - OVERLORD |
O 4 | BAD DUMP ARGUMENTS - OVERLORD |
O 5 | BAD INPUT BUT GOING ON ANYHOW - OVERLORD |
O 7 | OVERLAPPING PARAMETERS - SETUP |
Input-Output Errors:
P 1 | PRIN1 ASKED TO PRINT NON-OBJECT |
R 1 | FIRST OBJECT ON INPUT LIST IS ILLEGAL - PDA |
This error occurs when the read program encounters a character such as ")" or "." out of context. This occurs frequently when there is a parenthesis miscount. | |
R 2 | CONTEXT ERROR WITH DOT NOTATION - PDA |
R 3 | ILLEGAL CHARACTER - PDA |
R 4 | END OF FILE ON READ-IN - PDA |
R 5 | PRINT NAME TOO LONG - PDA |
Print names may contain up to 30 BCD characters. | |
R 6 | NUMBER TOO LARGE IN CONVERSION - PDA |