Created
April 6, 2022 21:39
-
-
Save sgithens/ae191fb18b360a70000051cbfc4bae0e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CL-USER 7 > (pprint (macroexpand-1 '(boxer-eval::evaluator-body (2) nil))) | |
(BOXER-EVAL::WITH-EVALUATOR-STATE-VARIABLES-AND-UNWIND-PROTECT | |
(BOXER-EVAL::INIT-TIMING) | |
(BOXER-EVAL::TRACE-ENTERING EVAL) | |
(SETQ BOXER-EVAL::*POLL-COUNT* BOXER-EVAL::*INITIAL-POLL-COUNT*) | |
(TAGBODY | |
BOXER-EVAL::STANDARD-ENTRY (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::STANDARD-ENTRY) | |
(WHEN (NULL NIL) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(SETQ BOXER-EVAL::*PROCESS-STATE* :RUN) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (2)) | |
(SETQ BOXER-EVAL::*EXECUTING-LINE* BOXER-EVAL::*EXECUTING-LINE*) | |
(GO BOXER-EVAL::EVAL-LOOP)) | |
BOXER-EVAL::CONTINUE-PROCESS (IF (EQ BOXER-EVAL::*CURRENT-PROCESS* NIL) | |
(WARN "Trying to Switch to the same process in CONTINUE-PROCESS: ~A" BOXER-EVAL::*CURRENT-PROCESS*) | |
(PROGN | |
(UNLESS (NULL NIL) (SETQ BOXER-EVAL::*CURRENT-PROCESS* NIL)) | |
(BOXER-EVAL::RETRIEVE-EVALUATOR-STATE) | |
(CASE BOXER-EVAL::*PC* (:SFUNCALL-CONTINUATION-DISPATCH (GO BOXER-EVAL::SFUNCALL-CONTINUATION-DISPATCH))))) | |
BOXER-EVAL::EVAL-LOOP (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-LOOP BOXER-EVAL::*EXECUTING-POINTER*) | |
(SETQ BOXER-EVAL::*PC* :EVAL-LOOP) | |
(LET ((BOXER-EVAL::POLL-RESULT (BOXER-EVAL::POLL))) | |
(COND ((NULL BOXER-EVAL::POLL-RESULT)) | |
((EQ BOXER-EVAL::POLL-RESULT :PAUSE) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::PROCESS-PAUSE BOXER-EVAL::*CURRENT-PROCESS*) | |
(BOXER-EVAL::STORE-EVALUATOR-STATE) | |
(COND ((NULL BOXER-EVAL::*BOXER-PROCESSES*) (SETQ BOXER-EVAL::*BOXER-PROCESSES* (LIST BOXER-EVAL::*CURRENT-PROCESS*))) | |
((BOXER:FAST-MEMQ BOXER-EVAL::*CURRENT-PROCESS* BOXER-EVAL::*BOXER-PROCESSES*)) | |
(T (NCONC (LAST BOXER-EVAL::*BOXER-PROCESSES*) (LIST BOXER-EVAL::*CURRENT-PROCESS*)))) | |
(OR (EQ (BOXER-EVAL::PROCESS-VARIABLE BOXER-EVAL::*CURRENT-PROCESS* BOXER-EVAL::*PROCESS-STATE*) :TOPLEVEL) | |
(SETQ BOXER-EVAL::*CURRENT-PROCESS* (BOXER-EVAL::GET-TOPLEVEL-PROCESS)) | |
(BOXER-EVAL::INIT-PROCESS-STATE-VECTOR)) | |
(BOXER-EVAL::RETRIEVE-EVALUATOR-STATE) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(GO BOXER-EVAL::EXIT-EVAL)) | |
((SIMPLE-VECTOR-P BOXER-EVAL::POLL-RESULT) | |
(BOXER-EVAL::STORE-EVALUATOR-STATE) | |
(SETQ BOXER-EVAL::*CURRENT-PROCESS* BOXER-EVAL::POLL-RESULT) | |
(BOXER-EVAL::RETRIEVE-EVALUATOR-STATE) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::PROCESS-SWITCH | |
BOXER-EVAL::*CURRENT-PROCESS* | |
BOXER-EVAL::POLL-RESULT | |
BOXER-EVAL::*EXECUTING-POINTER*) | |
(CASE BOXER-EVAL::*PC* (:SFUNCALL-CONTINUATION-DISPATCH (GO BOXER-EVAL::SFUNCALL-CONTINUATION-DISPATCH)))) | |
(T (BOXER-EVAL::HANDLE-INTERRUPT-CHAR) (WHEN (NOT (NULL BOXER-EVAL::*EXCEPTION-SIGNALLED*)) (GO BOXER-EVAL::HANDLE-EXCEPTION))))) | |
BOXER-EVAL::EVAL-LOOP-SKIP-POLL-AND-ERRORS (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-LOOP-SKIP-POLL-AND-ERRORS) | |
BOXER-EVAL::TOKEN-DISPATCH-IGNORE-DEFINITIONS-LOOP (SETQ BOXER-EVAL::*THING-POINTER* (CAR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(WHEN (EQ BOXER-EVAL::*THING-POINTER* 'BOXER-EVAL::*IGNORING-DEFINITION-OBJECT*) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-ADVANCE-TOKEN) (BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (CDR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(GO BOXER-EVAL::TOKEN-DISPATCH-IGNORE-DEFINITIONS-LOOP)) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-EVAL:LIST-REST | |
(BOXER-EVAL::VPDL-PUSH BOXER-EVAL::*EXECUTING-POINTER*) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-HANDLE-LIST-REST-ARG) (BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* NIL) | |
(GO BOXER-EVAL::GOT-VALUE)) | |
(BOXER-USER::BOX-REST | |
(BOXER-EVAL::VPDL-PUSH (BOXER:MAKE-VC (LIST BOXER-EVAL::*EXECUTING-POINTER*))) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-HANDLE-LIST-REST-ARG) (BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* NIL) | |
(GO BOXER-EVAL::GOT-VALUE))) | |
(WHEN (NULL BOXER-EVAL::*EXECUTING-POINTER*) (GO BOXER-EVAL::EVAL-DONE-WITH-LINE)) | |
BOXER-EVAL::RAW-TOKEN-DISPATCH (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::RAW-TOKEN-DISPATCH BOXER-EVAL::*THING-POINTER*) | |
(COND ((SYMBOLP BOXER-EVAL::*THING-POINTER*) (GO SYMBOL)) | |
((NUMBERP BOXER-EVAL::*THING-POINTER*) (GO NUMBER)) | |
((BOXER:FAST-EVAL-DATA-BOX? BOXER-EVAL::*THING-POINTER*) | |
(COND ((BOXER::FAST-VC-HAS-SPRITE? BOXER-EVAL::*THING-POINTER*) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::PORT)) | |
(T (GO BOXER-EVAL::DATA-BOX)))) | |
((BOXER:FAST-EVAL-DOIT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::DOIT-BOX)) | |
((BOXER:FAST-EVAL-PORT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::PORT)) | |
((BOXER-EVAL::SPECIAL-TOKEN? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::SPECIAL-TOKEN)) | |
((BOXER-EVAL::BOXER-FUNCTION? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::RAW-BOXER-FUNCTION)) | |
((TYPEP BOXER-EVAL::*THING-POINTER* 'BOXER::FOREIGN-DATA) (GO BOXER-EVAL::FOREIGN-DATA)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-ERROR "unusual object encountered in eval:" BOXER-EVAL::*THING-POINTER*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION))) | |
NUMBER (BOXER-EVAL::TRACE-ENTERING NUMBER BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::WHEN-STEPPING (SETQ BOXER-EVAL::*THING-POINTER* (BOXER::DATA-BOXIFY BOXER-EVAL::*THING-POINTER*)) (GO BOXER-EVAL::DATA-BOX)) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO (BOXER::DATA-BOXIFY BOXER-EVAL::*THING-POINTER*)))) | |
(OTHERWISE)) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT) | |
BOXER-EVAL::EDITOR-DATA-BOX (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EDITOR-DATA-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::WHEN-STEPPING | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*THING-POINTER* (BOXER::PORT-TO-INTERNAL BOXER-EVAL::*THING-POINTER*))) | |
(BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT)) | |
(BOXER-EVAL::DONT-COPY | |
(BOXER-EVAL::WHEN-STEPPING (SETQ BOXER-EVAL::*THING-POINTER* (BOXER::COPY-BOX BOXER-EVAL::*THING-POINTER* NIL)))) | |
(OTHERWISE (SETQ BOXER-EVAL::*THING-POINTER* (BOXER::COPY-BOX BOXER-EVAL::*THING-POINTER* NIL)))) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT)) | |
(GO BOXER-EVAL::DATA-BOX) | |
BOXER-EVAL::DATA-BOX (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::DATA-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO BOXER-EVAL::*THING-POINTER*))) | |
(BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT)) | |
(BOXER-EVAL::DONT-COPY | |
(BOXER-EVAL::WHEN-STEPPING (SETQ BOXER-EVAL::*THING-POINTER* (BOXER-EVAL::COPY-THING BOXER-EVAL::*THING-POINTER*)))) | |
(OTHERWISE (SETQ BOXER-EVAL::*THING-POINTER* (BOXER-EVAL::COPY-THING BOXER-EVAL::*THING-POINTER*)))) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT) | |
BOXER-EVAL::FOREIGN-DATA (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::FOREIGN-DATA BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO BOXER-EVAL::*THING-POINTER*))) | |
(BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT)) | |
(BOXER-EVAL::DONT-COPY | |
(BOXER-EVAL::WHEN-STEPPING (SETQ BOXER-EVAL::*THING-POINTER* (BOXER-EVAL::COPY-THING BOXER-EVAL::*THING-POINTER*)))) | |
(OTHERWISE (SETQ BOXER-EVAL::*THING-POINTER* (BOXER-EVAL::COPY-THING BOXER-EVAL::*THING-POINTER*)))) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT) | |
BOXER-EVAL::DOIT-BOX (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::DOIT-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT)) | |
(OTHERWISE | |
(SETQ BOXER-EVAL::*FUNCTION* (BOXER-EVAL::CACHED-CODE-VIRTUAL-COPY BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::EVAL-ARGS-SETUP))) | |
BOXER-EVAL::EDITOR-DOIT-BOX (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EDITOR-DOIT-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT)) | |
(OTHERWISE | |
(SETQ BOXER-EVAL::*FUNCTION* (BOXER-EVAL::CACHED-CODE-EDITOR-BOX BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::EVAL-ARGS-SETUP))) | |
BOXER-EVAL::EDITOR-PORT (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EDITOR-PORT BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES (BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT))) | |
(LET ((BOXER-EVAL::TARGET (BOXER::GET-PORT-TARGET BOXER-EVAL::*THING-POINTER*))) | |
(COND ((NOT (BOXER:DOIT-BOX? BOXER-EVAL::TARGET)) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER::MAKE-VIRTUAL-PORT-FROM-EDITOR-PORT BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT)) | |
(T | |
(SETQ BOXER-EVAL::*FUNCTION* (BOXER-EVAL::CACHED-CODE-EDITOR-PORT BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::EVAL-ARGS-SETUP)))) | |
BOXER-EVAL::PORT (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::PORT BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES (BOXER-USER:DATAFY (GO BOXER-EVAL::DATAFY-OBJECT))) | |
(LET ((BOXER-EVAL::TARGET (BOXER::VP-TARGET BOXER-EVAL::*THING-POINTER*))) | |
(COND ((OR (AND (BOXER-EVAL::POSSIBLE-EVAL-OBJECT? BOXER-EVAL::TARGET) (BOXER:FAST-EVAL-DATA-BOX? BOXER-EVAL::TARGET)) | |
(NOT (BOXER:DOIT-BOX? BOXER-EVAL::TARGET))) | |
(GO BOXER-EVAL::SELF-EVALUATING-OBJECT)) | |
(T | |
(SETQ BOXER-EVAL::*FUNCTION* (BOXER-EVAL::CACHED-CODE-VIRTUAL-PORT BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::EVAL-ARGS-SETUP)))) | |
BOXER-EVAL::SPECIAL-TOKEN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SPECIAL-TOKEN BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*EXECUTING-POINTER*) | |
(COND ((BOXER-EVAL::UNBOX-TOKEN? BOXER-EVAL::*THING-POINTER*) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* | |
(LIST* 'BOXER-USER::@ (BOXER-EVAL::SPECIAL-TOKEN-ITEM BOXER-EVAL::*THING-POINTER*) (CDR BOXER-EVAL::*EXECUTING-POINTER*))) | |
(SETQ BOXER-EVAL::*THING-POINTER* 'BOXER-USER::@) | |
(GO SYMBOL)) | |
((BOXER-EVAL::PREVIOUS-TELL-ENVIRONMENT-TOKEN? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::PREVIOUS-TELL-ENVIRONMENT-TOKEN)) | |
((BOXER-EVAL::DOTS-LIST-TOKEN? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::DOTS-LIST-TOKEN)) | |
((BOXER-EVAL::SQUID-TOKEN? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::SELF-QUOTING-INTERNAL-DATUM)) | |
((BOXER-EVAL::EVAL-IT-TOKEN? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::EVAL-IT-TOKEN)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-BUG "Unknown SPECIAL-TOKEN object: " BOXER-EVAL::*THING-POINTER*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION))) | |
BOXER-EVAL::PREVIOUS-TELL-ENVIRONMENT-TOKEN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::PREVIOUS-TELL-ENVIRONMENT-TOKEN | |
BOXER-EVAL::*THING-POINTER* | |
BOXER-EVAL::*EXECUTING-POINTER*) | |
(GO SYMBOL) | |
BOXER-EVAL::EVAL-IT-TOKEN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-IT-TOKEN BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*EXECUTING-POINTER*) | |
(BOXER-EVAL:SIGNAL-ERROR :!-OUT-OF-PLACE "The ! character is used only inside BUILD. Maybe you want ^?") | |
(GO BOXER-EVAL::HANDLE-EXCEPTION) | |
BOXER-EVAL::DOTS-LIST-TOKEN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::DOTS-LIST-TOKEN BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*EXECUTING-POINTER*) | |
(GO SYMBOL) | |
SYMBOL (BOXER-EVAL::TRACE-ENTERING SYMBOL BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*EXECUTING-POINTER*) | |
(WHEN (EQ BOXER-EVAL::*THING-POINTER* 'BOXER-USER::DONT-PORT) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*EXECUTING-POINTER* (CDR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-ADVANCE-TOKEN) (BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*ARGLIST* (CONS (CDAR BOXER-EVAL::*ARGLIST*) (CDR BOXER-EVAL::*ARGLIST*))) | |
(GO BOXER-EVAL::EVAL-LOOP-SKIP-POLL-AND-ERRORS)))) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:DATAFY (UNLESS (EQ BOXER-EVAL::*THING-POINTER* 'BOXER-USER::@) (GO BOXER-EVAL::DATAFY-OBJECT)))) | |
(LET ((BOXER-EVAL::VARIABLE-NAME BOXER-EVAL::*THING-POINTER*)) | |
(SETQ BOXER-EVAL::*THING-POINTER* | |
(IF (SYMBOLP BOXER-EVAL::VARIABLE-NAME) | |
(BOXER-EVAL:BOXER-SYMEVAL BOXER-EVAL::VARIABLE-NAME) | |
(BOXER-EVAL::BOXER-SYMEVAL-SPECIAL-TOKEN BOXER-EVAL::VARIABLE-NAME))) | |
(WHEN BOXER-EVAL::*EXCEPTION-SIGNALLED* (GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
(COND ((NUMBERP BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (BOXER-EVAL::BOXER-SET-INTERNAL BOXER-EVAL::VARIABLE-NAME | |
(SETQ BOXER-EVAL::*THING-POINTER* | |
(BOXER::DATA-BOXIFY BOXER-EVAL::*THING-POINTER*))) | |
(BOXER-EVAL::WHEN-STEPPING | |
(BOXER-EVAL::STEP-UPDATE-NUMBER-TO-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(GO BOXER-EVAL::DATA-BOX))) | |
(GO NUMBER)) | |
((EQ BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*NOVALUE*) | |
(BOXER-EVAL:SIGNAL-ERROR :UNBOUND-VARIABLE BOXER-EVAL::VARIABLE-NAME) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
((BOXER-EVAL::EVAL-OBJECT? BOXER-EVAL::*THING-POINTER*) | |
(COND ((BOXER-EVAL::BOXER-FUNCTION? BOXER-EVAL::*THING-POINTER*) | |
(WHEN (BOXER-EVAL::BOXER-FUNCTION-INFIX-P BOXER-EVAL::*THING-POINTER*) | |
(COND ((EQ BOXER-EVAL::VARIABLE-NAME 'BOXER-USER::-) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER-EVAL::BOXER-TOPLEVEL-SYMEVAL 'BOXER-EVAL::%NEGATIVE-INTERNAL))) | |
(T (BOXER-EVAL:SIGNAL-ERROR :INFIX-OUT-OF-PLACE BOXER-EVAL::VARIABLE-NAME) (GO BOXER-EVAL::HANDLE-EXCEPTION)))) | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*THING-POINTER*) | |
(GO BOXER-EVAL::EVAL-ARGS-SETUP)) | |
((BOXER:FAST-EVAL-DOIT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::DOIT-BOX)) | |
((BOXER:FAST-EVAL-DATA-BOX? BOXER-EVAL::*THING-POINTER*) | |
(COND ((BOXER::FAST-VC-HAS-SPRITE? BOXER-EVAL::*THING-POINTER*) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::PORT)) | |
(T (GO BOXER-EVAL::DATA-BOX)))) | |
((BOXER:FAST-EVAL-PORT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::PORT)) | |
((BOXER::VV-BOX-INTERFACE? BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (SETQ BOXER-EVAL::*THING-POINTER* | |
(OR (BOXER::BOX-INTERFACE-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER::CONNECT-AND-IMBED-INTERFACE-SLOT BOXER-EVAL::*THING-POINTER*))) | |
(GO BOXER-EVAL::EDITOR-DATA-BOX))) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER::BOX-INTERFACE-VALUE BOXER-EVAL::*THING-POINTER*)) | |
(GO NUMBER)) | |
((OR (BOXER::IV-BOX-INTERFACE? BOXER-EVAL::*THING-POINTER*) (BOXER::SV-BOX-INTERFACE? BOXER-EVAL::*THING-POINTER*)) | |
(SETQ BOXER-EVAL::*THING-POINTER* | |
(OR (BOXER::BOX-INTERFACE-BOX BOXER-EVAL::*THING-POINTER*) | |
(BOXER::CONNECT-AND-IMBED-INTERFACE-SLOT BOXER-EVAL::*THING-POINTER*))) | |
(GO BOXER-EVAL::EDITOR-DATA-BOX)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-ERROR | |
"unusual object encountered in eval: variable" | |
BOXER-EVAL::VARIABLE-NAME | |
"value" | |
BOXER-EVAL::*THING-POINTER* | |
BOXER-EVAL::VARIABLE-NAME) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)))) | |
((BOXER:SPRITE-BOX? BOXER-EVAL::*THING-POINTER*) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER:PORT-TO BOXER-EVAL::*THING-POINTER*)) | |
(GO BOXER-EVAL::PORT)) | |
((BOXER:DOIT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::EDITOR-DOIT-BOX)) | |
((BOXER:DATA-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::EDITOR-DATA-BOX)) | |
((BOXER:PORT-BOX? BOXER-EVAL::*THING-POINTER*) (GO BOXER-EVAL::EDITOR-PORT)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-ERROR | |
"unusual object encountered in eval: variable" | |
BOXER-EVAL::VARIABLE-NAME | |
"value" | |
BOXER-EVAL::*THING-POINTER* | |
BOXER-EVAL::VARIABLE-NAME) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)))) | |
BOXER-EVAL::RAW-BOXER-FUNCTION (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::RAW-BOXER-FUNCTION BOXER-EVAL::*EXECUTING-POINTER*) | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*THING-POINTER*) | |
BOXER-EVAL::EVAL-ARGS-SETUP (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-ARGS-SETUP BOXER-EVAL::*EXECUTING-POINTER*) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-START-FUNCTION-SEQUENCE BOXER-EVAL::*FUNCTION*) (BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (CDR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(WHEN (NULL (BOXER-EVAL::BOXER-FUNCTION-ARGLIST BOXER-EVAL::*FUNCTION*)) | |
(COND ((BOXER-EVAL::INTERPRETED-BOXER-FUNCTION? BOXER-EVAL::*FUNCTION*) (GO BOXER-EVAL::UFUNCALL-NO-ARGS)) | |
(T (SETQ BOXER-EVAL::*EXECUTING-SFUN* BOXER-EVAL::*FUNCTION*) (GO BOXER-EVAL::SFUNCALL-SKIP-ARGS)))) | |
(BOXER-EVAL::WHEN-STEPPING | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::STEPPER-EVAL-ARGS-FRAME BOXER-EVAL::*STEPPER-ITEM-NO*) | |
(BOXER-EVAL::STEP-ADVANCE-TOKEN) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::PUSH-EVAL-ARGS-FRAME BOXER-EVAL::*ARGLIST* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::EVAL-ARGS-FRAME BOXER-EVAL::*ARGLIST* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(SETQ BOXER-EVAL::*CURRENT-FUNCTION* BOXER-EVAL::*FUNCTION*) | |
(SETQ BOXER-EVAL::*ARGLIST* (BOXER-EVAL::BOXER-FUNCTION-ARGLIST BOXER-EVAL::*CURRENT-FUNCTION*)) | |
(GO BOXER-EVAL::CHECK-IF-ALL-ARGS) | |
BOXER-EVAL::DATAFY-OBJECT (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::DATAFY-OBJECT) | |
(SETQ BOXER-EVAL::*THING-POINTER* (BOXER::DATA-BOXIFY BOXER-EVAL::*THING-POINTER*)) | |
BOXER-EVAL::SELF-EVALUATING-OBJECT (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SELF-EVALUATING-OBJECT BOXER-EVAL::*THING-POINTER*) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-SELF-EVALUATING-OBJECT BOXER-EVAL::*THING-POINTER*) (BOXER-EVAL::STEP-REDISPLAY)) | |
BOXER-EVAL::SELF-QUOTING-INTERNAL-DATUM (SETQ BOXER-EVAL::*EXECUTING-POINTER* (CDR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(BOXER-EVAL::VPDL-PUSH BOXER-EVAL::*THING-POINTER*) | |
BOXER-EVAL::GOT-VALUE (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::GOT-VALUE) | |
(UNLESS (NULL BOXER-EVAL::*EXECUTING-POINTER*) | |
(LET ((BOXER-EVAL::NEXT-TOKEN (CAR BOXER-EVAL::*EXECUTING-POINTER*))) | |
(WHEN (AND (SYMBOLP BOXER-EVAL::NEXT-TOKEN) | |
(BOXER-EVAL::INFIX-FUNCTION-SYMBOL-P BOXER-EVAL::NEXT-TOKEN) | |
(NOT (AND BOXER-EVAL::*CURRENT-FUNCTION* | |
(NOT (SYMBOLP (CAR BOXER-EVAL::*ARGLIST*))) | |
(EQ (CAAR BOXER-EVAL::*ARGLIST*) 'BOXER-USER:DATAFY)))) | |
(LET ((BOXER-EVAL::INFIX-FUNCTION (BOXER-EVAL::BOXER-TOPLEVEL-SYMEVAL BOXER-EVAL::NEXT-TOKEN))) | |
(WHEN (OR (NULL BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER:>& (BOXER-EVAL::BOXER-FUNCTION-PRECEDENCE BOXER-EVAL::INFIX-FUNCTION) | |
(BOXER-EVAL::BOXER-FUNCTION-PRECEDENCE BOXER-EVAL::*CURRENT-FUNCTION*))) | |
(BOXER-EVAL::WHEN-STEPPING | |
(BOXER-EVAL::STEP-HANDLE-INFIX-FUNCTION BOXER-EVAL::INFIX-FUNCTION BOXER-EVAL::NEXT-TOKEN) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::STEPPER-EVAL-ARGS-FRAME BOXER-EVAL::*STEPPER-ITEM-NO*)) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::EVAL-ARGS-FRAME BOXER-EVAL::*ARGLIST* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(SETQ BOXER-EVAL::*CURRENT-FUNCTION* BOXER-EVAL::INFIX-FUNCTION) | |
(SETQ BOXER-EVAL::*ARGLIST* (CDR (BOXER-EVAL::BOXER-FUNCTION-ARGLIST BOXER-EVAL::INFIX-FUNCTION))) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (CDR BOXER-EVAL::*EXECUTING-POINTER*)) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-ADVANCE-TOKEN) (BOXER-EVAL::STEP-ADVANCE-TOKEN) (BOXER-EVAL::STEP-REDISPLAY)) | |
(GO BOXER-EVAL::EVAL-FINISHED-UNIT)))))) | |
(COND ((NOT (NULL BOXER-EVAL::*CURRENT-FUNCTION*)) | |
(SETQ BOXER-EVAL::*ARGLIST* (CDR BOXER-EVAL::*ARGLIST*)) | |
(GO BOXER-EVAL::CHECK-IF-ALL-ARGS)) | |
(T (SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER-EVAL::VPDL-POP)) (GO BOXER-EVAL::EVAL-FINISHED-UNIT))) | |
BOXER-EVAL::EVAL-FINISHED-UNIT (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-FINISHED-UNIT) | |
(GO BOXER-EVAL::EVAL-LOOP) | |
BOXER-EVAL::CHECK-IF-ALL-ARGS (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::CHECK-IF-ALL-ARGS BOXER-EVAL::*ARGLIST*) | |
(COND ((NULL BOXER-EVAL::*ARGLIST*) (GO FUNCALL)) (T (GO BOXER-EVAL::EVAL-FINISHED-UNIT))) | |
FUNCALL (IF (BOXER-EVAL::COMPILED-BOXER-FUNCTION? BOXER-EVAL::*CURRENT-FUNCTION*) (GO BOXER-EVAL::SFUNCALL) (GO BOXER-EVAL::UFUNCALL)) | |
BOXER-EVAL::UFUNCALL (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::UFUNCALL BOXER-EVAL::*CURRENT-FUNCTION*) | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::EVAL-ARGS-FRAME BOXER-EVAL::*ARGLIST* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL::WHEN-STEPPING | |
(LET ((BOXER-EVAL::IT BOXER-EVAL::*STEPPER-ITEM-NO*)) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::STEPPER-EVAL-ARGS-FRAME BOXER-EVAL::*STEPPER-ITEM-NO*) | |
(BOXER-EVAL::STEP-FINISH-EVAL-ARGS BOXER-EVAL::IT))) | |
BOXER-EVAL::UFUNCALL-NO-ARGS (SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(GO BOXER-EVAL::UFUNCALL-REALLY) | |
BOXER-EVAL::UFUNCALL-REALLY (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::UFUNCALL-REALLY) | |
(WHEN (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-LEXICAL-CALL-P BOXER-EVAL::*FUNCTION*) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::DOIT-PORT-FUNCALL-FRAME | |
BOXER-EVAL:*LEXICAL-VARIABLES-ROOT* | |
BOXER-EVAL::*DYNAMIC-VARIABLES-BOTTOM*) | |
(SETQ BOXER-EVAL:*LEXICAL-VARIABLES-ROOT* (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-BACKPOINTER BOXER-EVAL::*FUNCTION*)) | |
(SETQ BOXER-EVAL::*DYNAMIC-VARIABLES-BOTTOM* BOXER-EVAL::*DYNAMIC-VARIABLES-TOP*)) | |
(BOXER-EVAL::WHEN-STEPPING | |
(LET ((BOXER-EVAL::ITEM-NO BOXER-EVAL::*STEPPER-ITEM-NO*)) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::STEPPER-UFUN-FRAME BOXER-EVAL::*STEPPER-ITEM-NO* BOXER-EVAL::*STEPPER-ROW-NO*) | |
(SETQ BOXER-EVAL::*STEPPER-ITEM-NO* 0 BOXER-EVAL::*STEPPER-ROW-NO* 0) | |
(BOXER-EVAL::STEPPER-ENTER-BOX BOXER-EVAL::ITEM-NO))) | |
(BOXER-EVAL::PDL-PUSH-FRAME BOXER-EVAL::UFUN-FRAME | |
BOXER-EVAL::*EXECUTING-FUNCTION* | |
BOXER-EVAL::*EXECUTING-LINE* | |
BOXER-EVAL::*EXECUTING-POINTER* | |
BOXER-EVAL::*RUN-LIST-SFUN-EPILOG-HANDLER* | |
BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER* | |
BOXER-EVAL::*CURRENT-FUNCTION*) | |
(SETQ BOXER-EVAL::*RUN-LIST-SFUN-EPILOG-HANDLER* NIL) | |
(SETQ BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER* NIL) | |
(SETQ BOXER-EVAL::*EXECUTING-FUNCTION* BOXER-EVAL::*FUNCTION*) | |
(SETQ BOXER-EVAL::*EXECUTING-LINE* (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-TEXT BOXER-EVAL::*FUNCTION*)) | |
(SETQ BOXER-EVAL::*CURRENT-FUNCTION* NIL) | |
(BOXER-EVAL::DYNAMICALLY-BIND-VARIABLES-AND-LOCALS (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-REVERSED-ARG-NAMES BOXER-EVAL::*FUNCTION*) | |
(BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-LOCALS BOXER-EVAL::*FUNCTION*)) | |
(BOXER-EVAL::WHEN-STEPPING | |
(UNLESS (NULL (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-ARGLIST BOXER-EVAL::*FUNCTION*)) | |
(BOXER-EVAL::STEP-REPLACE-INPUT-LINE-WITH-VALUES (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-ARGLIST BOXER-EVAL::*FUNCTION*))) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::STEP-ADVANCE-LINE) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(WHEN (NULL BOXER-EVAL::*EXECUTING-LINE*) (GO BOXER-EVAL::UFUNCALL-RETURN)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (CAR BOXER-EVAL::*EXECUTING-LINE*)) | |
(GO BOXER-EVAL::EVAL-LOOP) | |
BOXER-EVAL::TAIL-RECURSE (GO BOXER-EVAL::UFUNCALL-REALLY) | |
BOXER-EVAL::SFUNCALL (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SFUNCALL BOXER-EVAL::*CURRENT-FUNCTION*) | |
(SETQ BOXER-EVAL::*EXECUTING-SFUN* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::EVAL-ARGS-FRAME BOXER-EVAL::*ARGLIST* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL::WHEN-STEPPING | |
(LET ((BOXER-EVAL::IT BOXER-EVAL::*STEPPER-ITEM-NO*)) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::STEPPER-EVAL-ARGS-FRAME BOXER-EVAL::*STEPPER-ITEM-NO*) | |
(BOXER-EVAL::STEP-FINISH-EVAL-ARGS BOXER-EVAL::IT))) | |
BOXER-EVAL::SFUNCALL-SKIP-ARGS (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SFUNCALL-SKIP-ARGS) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEPPER-ENTER-BOX BOXER-EVAL::*STEPPER-ITEM-NO*)) | |
(SETQ BOXER-EVAL::*SFUN-CONTINUATION* 'BOXER-EVAL::*STD-SFUN-CONTINUATION*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(CATCH 'BOXER-EVAL::BOXER-PRIMITIVE-ERROR-SIGNAL | |
(IF (TYPEP (BOXER-EVAL::COMPILED-BOXER-FUNCTION-OBJECT BOXER-EVAL::*EXECUTING-SFUN*) 'BOXER::COMPILED-BOXER-OBJECT) | |
(BOXER::FUNCALL-COMPILED-BOXER-FUNCTION (BOXER-EVAL::COMPILED-BOXER-FUNCTION-OBJECT BOXER-EVAL::*EXECUTING-SFUN*)) | |
(FUNCALL (BOXER-EVAL::COMPILED-BOXER-FUNCTION-OBJECT BOXER-EVAL::*EXECUTING-SFUN*))))) | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*EXECUTING-SFUN*) | |
(SETQ BOXER-EVAL::*EXECUTING-SFUN* NIL) | |
(WHEN (NOT (NULL BOXER-EVAL::*TRIGGER-LIST-TO-RUN*)) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(BOXER-EVAL::HANDLE-TRIGGER-LIST-IN-EVAL BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*EXECUTING-POINTER*))) | |
BOXER-EVAL::SFUNCALL-CONTINUATION-DISPATCH (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SFUNCALL-CONTINUATION-DISPATCH | |
BOXER-EVAL::*SFUN-CONTINUATION* | |
BOXER-EVAL::*RETURNED-VALUE*) | |
(CASE BOXER-EVAL::*SFUN-CONTINUATION* | |
(BOXER-EVAL::*STD-SFUN-CONTINUATION* (GO BOXER-EVAL::SFUNCALL-RETURN)) | |
(BOXER-EVAL::*MACROEXPAND-SFUN-CONTINUATION* | |
(BOXER-EVAL::WHEN-STEPPING | |
(WHEN (NUMBERP BOXER-EVAL::*RETURNED-VALUE*) (SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-EVAL::STEP-FUNCTION-RETURN-SEQUENCE BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*THING-POINTER* BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(GO BOXER-EVAL::RAW-TOKEN-DISPATCH)) | |
(BOXER-EVAL::*UFUNCALL-SFUN-RESULT-SFUN-CONTINUATION* | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(GO BOXER-EVAL::UFUNCALL-REALLY)) | |
(BOXER-EVAL::*RUN-LIST-SFUN-CONTINUATION* | |
(BOXER-EVAL::WHEN-STEPPING | |
(WHEN (NUMBERP BOXER-EVAL::*RETURNED-VALUE*) (SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-EVAL::STEP-HANDLE-RUN-LIST-CONTINUATION BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(GO BOXER-EVAL::EVAL-LOOP)) | |
(BOXER-EVAL::*ACCESS-EVALUATOR-STATE-SFUN-CONTINUATION* | |
(SETQ BOXER-EVAL::*PC* :SFUNCALL-CONTINUATION-DISPATCH) | |
(BOXER-EVAL::STORE-EVALUATOR-STATE) | |
(WHEN (FUNCALL BOXER-EVAL::*RETURNED-VALUE*) (BOXER-EVAL::RETRIEVE-EVALUATOR-STATE)) | |
(GO BOXER-EVAL::SFUNCALL-CONTINUATION-DISPATCH)) | |
(BOXER-EVAL::*EVAL-LOOP-SFUN-CONTINUATION* (GO BOXER-EVAL::EVAL-LOOP)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-ERROR "Bad continuation from sfuncall" BOXER-EVAL::*SFUN-CONTINUATION*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION))) | |
BOXER-EVAL::SFUNCALL-RETURN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::SFUNCALL-RETURN BOXER-EVAL::*RETURNED-VALUE*) | |
(COND (BOXER-EVAL::*EXCEPTION-SIGNALLED* (GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
((EQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-FUNCTION-RETURN-SEQUENCE BOXER-EVAL::*RETURNED-VALUE*) (BOXER-EVAL::STEP-REDISPLAY)) | |
(GO BOXER-EVAL::FUNCALL-RETURN-NO-VALUE)) | |
(T | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:DATAFY (SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-USER:PORT-TO (COND ((NUMBERP BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::EVALUATOR-HELPFUL-MESSAGE "Made a PORT to a copy of the result of a primitive.") | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(BOXER:PORT-TO (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*)))) | |
((BOXER:FAST-EVAL-PORT-BOX? BOXER-EVAL::*RETURNED-VALUE*)) | |
((TYPEP BOXER-EVAL::*RETURNED-VALUE* 'BOXER::FOREIGN-DATA) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER:PORT-TO BOXER-EVAL::*RETURNED-VALUE*))) | |
(T | |
(BOXER-EVAL::EVALUATOR-HELPFUL-MESSAGE "Made a PORT to a copy of the result of a primitive.") | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(BOXER:PORT-TO (BOXER-EVAL::COPY-THING BOXER-EVAL::*RETURNED-VALUE*)))))) | |
(OTHERWISE)) | |
(BOXER-EVAL::WHEN-STEPPING | |
(WHEN (NUMBERP BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-EVAL::STEP-FUNCTION-RETURN-SEQUENCE BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::STEP-ADVANCE-TOKEN)) | |
(BOXER-EVAL::VPDL-PUSH BOXER-EVAL::*RETURNED-VALUE*) | |
(GO BOXER-EVAL::GOT-VALUE))) | |
BOXER-EVAL::EVAL-DONE-WITH-LINE (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-DONE-WITH-LINE) | |
(UNLESS (NULL BOXER-EVAL::*CURRENT-FUNCTION*) | |
(BOXER-EVAL:SIGNAL-ERROR :INSUFFICIENT-ARGS-ERROR BOXER-EVAL::*CURRENT-FUNCTION*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
BOXER-EVAL::EVAL-DO-NEXT-LINE (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EVAL-DO-NEXT-LINE BOXER-EVAL::*EXECUTING-FUNCTION*) | |
(WHEN (NOT (NULL BOXER-EVAL::*RUN-LIST-SFUN-EPILOG-HANDLER*)) | |
(LET ((BOXER-EVAL::RESULT (FUNCALL BOXER-EVAL::*RUN-LIST-SFUN-EPILOG-HANDLER*))) | |
(COND ((NULL BOXER-EVAL::RESULT) | |
(WHEN BOXER-EVAL::*CURRENT-FUNCTION* | |
(BOXER-EVAL:SIGNAL-ERROR :DIDNT-OUTPUT "???" BOXER-EVAL::*CURRENT-FUNCTION*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
(GO BOXER-EVAL::EVAL-FINISHED-UNIT)) | |
(T (SETQ BOXER-EVAL::*EXECUTING-POINTER* BOXER-EVAL::RESULT) (GO BOXER-EVAL::EVAL-LOOP))))) | |
(WHEN (NULL BOXER-EVAL::*EXECUTING-FUNCTION*) (SETQ BOXER-EVAL::*EXECUTING-LINE* NIL) (GO BOXER-EVAL::DONE-WITH-EVAL)) | |
(SETQ BOXER-EVAL::*EXECUTING-LINE* (CDR BOXER-EVAL::*EXECUTING-LINE*)) | |
(BOXER-EVAL::WHEN-STEPPING (BOXER-EVAL::STEP-ADVANCE-LINE)) | |
(UNLESS (NULL BOXER-EVAL::*EXECUTING-LINE*) | |
(SETQ BOXER-EVAL::*EXECUTING-POINTER* (CAR BOXER-EVAL::*EXECUTING-LINE*)) | |
(GO BOXER-EVAL::EVAL-LOOP)) | |
BOXER-EVAL::UFUNCALL-RETURN (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::UFUNCALL-RETURN BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*FUNCTION* BOXER-EVAL::*EXECUTING-FUNCTION*) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::UNBINDING-VARIABLES) | |
(BOXER-EVAL::DYNAMICALLY-UNBIND-VARIABLES) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::POPPING-UFUN-FRAME BOXER-EVAL::*PDL*) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::UFUN-FRAME | |
BOXER-EVAL::*EXECUTING-FUNCTION* | |
BOXER-EVAL::*EXECUTING-LINE* | |
BOXER-EVAL::*EXECUTING-POINTER* | |
BOXER-EVAL::*RUN-LIST-SFUN-EPILOG-HANDLER* | |
BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER* | |
BOXER-EVAL::*CURRENT-FUNCTION*) | |
(WHEN (BOXER-EVAL::INTERPRETED-BOXER-FUNCTION-LEXICAL-CALL-P BOXER-EVAL::*FUNCTION*) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::DOIT-PORT-FUNCALL-FRAME | |
BOXER-EVAL:*LEXICAL-VARIABLES-ROOT* | |
BOXER-EVAL::*DYNAMIC-VARIABLES-BOTTOM*)) | |
(WHEN (NOT (NULL BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER*)) | |
(FUNCALL BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER*) | |
(SETQ BOXER-EVAL::*UFUNCALL-SFUN-EPILOG-HANDLER* NIL)) | |
(BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::ARG-HANDLING-RESULT) | |
(COND ((NOT (EQ BOXER-EVAL::*RETURNED-VALUE* BOXER-EVAL::*NOVALUE*)) | |
(BOXER-EVAL::SPECIAL-ARG-HANDLING-CASES | |
(BOXER-USER:PORT-TO (COND ((NUMBERP BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::EVALUATOR-HELPFUL-MESSAGE "Made a PORT to a copy of the result of a DOIT box.") | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(BOXER:PORT-TO (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*)))) | |
((TYPEP BOXER-EVAL::*RETURNED-VALUE* 'BOXER::FOREIGN-DATA) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER:PORT-TO BOXER-EVAL::*RETURNED-VALUE*))) | |
((NOT (BOXER:FAST-EVAL-PORT-BOX? BOXER-EVAL::*RETURNED-VALUE*)) | |
(BOXER-EVAL::EVALUATOR-HELPFUL-MESSAGE "Made a PORT to a copy of the result of a DOIT box.") | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* | |
(BOXER:PORT-TO (BOXER-EVAL::COPY-THING BOXER-EVAL::*RETURNED-VALUE*)))))) | |
(BOXER-USER:DATAFY (SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(OTHERWISE)) | |
(BOXER-EVAL::WHEN-STEPPING | |
(WHEN (NUMBERP BOXER-EVAL::*RETURNED-VALUE*) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER::DATA-BOXIFY BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-EVAL::STEP-FUNCTION-RETURN-SEQUENCE BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::STEPPER-UFUN-FRAME BOXER-EVAL::*STEPPER-ITEM-NO* BOXER-EVAL::*STEPPER-ROW-NO*) | |
(BOXER-EVAL::STEP-RESTORE-CURSOR-POSITION) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::STEP-ADVANCE-TOKEN) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(WHEN (TYPEP BOXER-EVAL::*RETURNED-VALUE* 'BOXER::FOREIGN-DATA) | |
(SETQ BOXER-EVAL::*RETURNED-VALUE* (BOXER-EVAL::COPY-THING BOXER-EVAL::*RETURNED-VALUE*))) | |
(BOXER-EVAL::VPDL-PUSH BOXER-EVAL::*RETURNED-VALUE*) | |
(GO BOXER-EVAL::GOT-VALUE)) | |
(T | |
(BOXER-EVAL::WHEN-STEPPING | |
(BOXER-EVAL::STEP-FUNCTION-RETURN-SEQUENCE BOXER-EVAL::*RETURNED-VALUE*) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::PDL-POP-FRAME BOXER-EVAL::STEPPER-UFUN-FRAME BOXER-EVAL::*STEPPER-ITEM-NO* BOXER-EVAL::*STEPPER-ROW-NO*) | |
(BOXER-EVAL::STEP-RESTORE-CURSOR-POSITION) | |
(BOXER-EVAL::STEP-REDISPLAY) | |
(BOXER-EVAL::STEP-ADVANCE-TOKEN) | |
(BOXER-EVAL::STEP-REDISPLAY)) | |
(GO BOXER-EVAL::FUNCALL-RETURN-NO-VALUE))) | |
BOXER-EVAL::FUNCALL-RETURN-NO-VALUE (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::FUNCALL-RETURN-NO-VALUE) | |
(WHEN (NULL BOXER-EVAL::*CURRENT-FUNCTION*) (GO BOXER-EVAL::EVAL-FINISHED-UNIT)) | |
(BOXER-EVAL:SIGNAL-ERROR :DIDNT-OUTPUT BOXER-EVAL::*FUNCTION* BOXER-EVAL::*CURRENT-FUNCTION*) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION) | |
BOXER-EVAL::HANDLE-EXCEPTION (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::HANDLE-EXCEPTION) | |
(LET ((BOXER-EVAL::OLD-EXCEPTION-VALUE BOXER-EVAL::*EXCEPTION-SIGNALLED*)) | |
(SETQ BOXER-EVAL::*EXCEPTION-SIGNALLED* NIL) | |
(CASE BOXER-EVAL::OLD-EXCEPTION-VALUE | |
(BOXER-EVAL::ERROR-EXCEPTION (WHEN (EQ (BOXER-EVAL::HANDLE-ERROR) :BACKGROUND-ERROR) (GO BOXER-EVAL::DONE-WITH-EVAL))) | |
((BOXER-EVAL::PAUSE-INT-EXCEPTION BOXER-EVAL::PAUSE-SFUN-EXCEPTION BOXER-EVAL::PAUSE-ERROR-EXCEPTION) | |
(BOXER-EVAL::PAUSE BOXER-EVAL::OLD-EXCEPTION-VALUE)) | |
(T | |
(BOXER-EVAL:SIGNAL-ERROR :EVAL-ERROR "Bad value for exception signalled:" BOXER-EVAL::OLD-EXCEPTION-VALUE) | |
(GO BOXER-EVAL::HANDLE-EXCEPTION)))) | |
(WHEN (NOT (NULL BOXER-EVAL::*EXCEPTION-SIGNALLED*)) (GO BOXER-EVAL::HANDLE-EXCEPTION)) | |
(GO BOXER-EVAL::EVAL-LOOP) | |
BOXER-EVAL::DONE-WITH-EVAL (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::DONE-WITH-EVAL) | |
(BOXER-EVAL::PROCESS-FINISH BOXER-EVAL::*CURRENT-PROCESS*) | |
(LET ((BOXER-EVAL::TODO (BOXER-EVAL::NEXT-RESTARTABLE-PROCESS NIL))) | |
(WHEN (NOT (NULL BOXER-EVAL::TODO)) | |
(COND ((EQ BOXER-EVAL::TODO BOXER-EVAL::*CURRENT-PROCESS*) (WARN "~%Trying to switch to same process: ~A" BOXER-EVAL::TODO)) | |
(T (SETQ BOXER-EVAL::*CURRENT-PROCESS* BOXER-EVAL::TODO) (GO BOXER-EVAL::CONTINUE-PROCESS))))) | |
(OR (EQ (BOXER-EVAL::PROCESS-VARIABLE BOXER-EVAL::*CURRENT-PROCESS* BOXER-EVAL::*PROCESS-STATE*) :TOPLEVEL) | |
(SETQ BOXER-EVAL::*CURRENT-PROCESS* (BOXER-EVAL::GET-TOPLEVEL-PROCESS)) | |
(BOXER-EVAL::INIT-PROCESS-STATE-VECTOR)) | |
BOXER-EVAL::EXIT-EVAL (BOXER-EVAL::TRACE-ENTERING BOXER-EVAL::EXIT-EVAL) | |
(VALUES)) | |
(SETQ BOXER-EVAL::*PROCESS-STATE* :TOPLEVEL) | |
BOXER-EVAL::*RETURNED-VALUE*) | |
CL-USER 8 > |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment