diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index b2d34a7..8186a56 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -363,21 +363,5152 @@ $IOindex = 1 \end{chunk} \chapter{Starting Axiom} + +This chapter details the internal processing behind an Axiom console +session where the user types ``1'' and gets a result. + +\begin{verbatim} +axiom -nox + AXIOM Computer Algebra System + Version: Axiom (August 2014) + Timestamp: Friday September 12, 2014 at 06:24:14 +----------------------------------------------------------------------------- + Issue )copyright to view copyright notices. + Issue )summary for a summary of useful system commands. + Issue )quit to leave AXIOM and return to shell. + Visit http://axiom-developer.org for more information +----------------------------------------------------------------------------- + + Re-reading interp.daase + Re-reading operation.daase + Re-reading category.daase + Re-reading browse.daase +(1) -> +(1) -> 1 + + (1) 1 + Type: PositiveInteger +(2) -> +\end{verbatim} + +By working through this example we introduce, motivate, and explain +how the interpreter works, where and why functions are called, how +the system transitions from input strings to algebra, how the databases +are used, and more. + +If you plan to maintain or modify the interpreter this information is +necessary. If you really want to know how Axiom works, this information +is useful. + +Each function call we describe has a link to the actual function so +you can read the detailed code and see why it reacts as it does to +the given input. + +I've taken the liberty of adding comments that show the function +signature. Some of the types only exist as unnamed data structures +in the interpreter (e.g. "Server", which is really just a small +integer). They are introduced without definition simply as a +documentation aid but may sometimes be defined a Common Lisp +deftypes for performance reasons. + +{\bf A Note on Common Lisp Circular Notation} + +You may not be familiar with circular notation in Common Lisp. +If a list contains a pointer back to itself or a sublist then the +output would be an infinite stream. In order to prevent this +the circular notation is used. So for a list X, +\begin{verbatim} + +---|---+ +---|---+ +---|---+ +---|---+ + + A | + --> + B | + --> + C | + --> + D | / + + +---|---+ +---|---+ +---|---+ +---|---+ +\end{verbatim} +which is the list (A . (B . (C . (D . ())))). The printing rule +says that if a period is followed by a parenthesis then both +are suppressed. So this would print as (A B C D). +But it could be that we execute +\begin{verbatim} + (rplaca (last X) (cdr X)) +\end{verbatim} +so the list now is +\begin{verbatim} + +---|---+ +---|---+ +---|---+ +---|---+ + + A | + --> + B | + --> + C | + --> + | / + + +---|---+ +---|---+ +---|---+ +---|---+ + ^ | + +---------------------------+ +\end{verbatim} +and now the list X is cicular. This prints as +\begin{verbatim} + (A . #0=(B C #0#)) +\end{verbatim} +As you can see the \verb|#0=| introduces a unique label for the +cons cell pointed at by (CDR A). We stored that address in the +CAR of the last node. So the last node in the list uses the +previously defined label with the notation \verb|#0#|. + +Circular notation is used extensively in Axiom since a lot of the +structures are shared or self-referential. You have to be careful +because, as a result of structure sharing, changing something in one +place can change an apparently unrelated structure by side-effect. + Axiom starts by invoking a function value of the lisp symbol -\verb|*top-level-hook*|. The function invocation path to from this -point until the prompt is approximates (skipping initializations): -\begin{verbatim} - lisp -> restart - -> |spad| - -> |runspad| - -> |ncTopLevel| - -> |ncIntLoop| - -> |intloop| - -> |SpadInterpretStream| - -> |intloopReadConsole| -\end{verbatim} -The |intloopReadConsole| function does tail-recursive calls to -itself (don't break this) and never exits. +\verb|*top-level-hook*| which is normally unbound. +The normal function invocation path is: +\begin{verbatim} +axiom -nox + +lisp + -> restart + -> |spad| + -> |runspad| + -> |ncTopLevel| + -> |ncIntLoop| + -> |intloop| + -> |SpadInterpretStream| + -> mkprompt -- outputs "(1) ->" to the console + -> |intloopReadConsole| -- the Read-Eval-Print loop function + -> |serverReadLine| -- does the actual read to the console + -> process the input and recursively call |intloopReadConsole| +\end{verbatim} + +\bfref{SpadInterpretStream} is called with a third arguments, {\bf +interactive?} set to {\bf t} so it sets up an interactive loop to read +from the console. The other two arguments are ignored on the main +interpreter path. + +\bfref{SpadInterpretStream} can also be called by the compiler, +with the {\bf interactive?} argument {\bf nil} to read from +a file. See bookvol9. + +\bfref{mkprompt} puts one of several kinds of prompts on the screen. In +the default case we include the step number. The return value is not +used. + +The \bfref{intloopReadConsole} function does tail-recursive calls to +itself and never exits. It is the primary Read-Eval-Print-Loop (REPL). + +\bfref{intloopReadConsole} +reads the next line and calls one of three kinds of processors +\begin{enumerate} +\item \bfref{intnplisp} to handle )lisp input +\item \bfref{ncloopCommand} to handle )command input +\item \bfref{intloopProcessString} to handle everything else +\end{enumerate} + +There are only two ways out of the REPL, either using the command +"{\bf )fin}" which drops into lisp or closing the *standard-input* stream. +If dropped into lisp, the top level loop can be restarted by calling +{\bf (restart)}. + +{\bf intloopReadConsole} takes 2 arguments. The first is a String {\bf +prefix} which is usually an empty string but might contain prior lines +that ended with an underscore, the Axiom continuation character. The +second is an Integer which will be the step number printed at the +prompt. + +\section{An Overview of a Simple Input} +Here we walk through details of Axiom's default behavior when handling +a simple input, the number 1. Many details are skipped in order to +provide a simple overview of the interpreter operation. Further +details can be found at the specific functions. + +Axiom is in \bfref{intloopReadConsole}, the Read-Eval-Print-Loop (REPL) function and the user types ``1''. +\begin{verbatim} + 1> (|intloopReadConsole| "" 1) + ; serverReadLine : Stream -> String + 2> (|serverReadLine| #) + ; is-console : Stream -> Boolean + 3> (IS-CONSOLE #) + <3 (IS-CONSOLE T) + ; sockSendInt : (Purpose,Command) -> Integer + ; Purpose 1 is SessionManager, Command 3 is EndOfOutput + ; A return of 0 indicates success. + ; see the socket types purpose list in bookvol7, chunk include/com.h + 3> (|sockSendInt| 1 3) + <3 (|sockSendInt| 0) + ; serverSwitch : Void -> Integer + ; see server_switch in sockio.c + ; this multiplexes the socket connection among front ends + ; CallInterp is the constant 4 (see the table in sockio-c) + ; CallInterp simply returns to the interpreter + 3> (|serverSwitch|) +1 + <3 (|serverSwitch| 4) + ; the action for CallInterp is to call read-line + ; read-line is defined in vmlisp.lisp + 3> (|read-line| #) + <3 (|read-line| "1" NIL) + <2 (|serverReadLine| "1") +\end{verbatim} + +Axiom calls \bfref{serverReadLine} +to read the integer from the console. First it calls {\bf is-console} +(bookvol9) to check that the console stream exists. + +{\bf sockSendInt} (see sockio.lisp, sockio-c.c) sends on socket 1 +({\bf SessionManager}) a 3, meaning {\bf EndOfOutput}, i.e. a newline. + +{\bf serverSwitch} (see sockio-c in bookvol7) multitasks among the different +sockets and finds the interpreter socket is available, returning +4 ({\bf CallInterp}) (see sockio-c commands sent table and bookvol8). + +\bfref{serverReadLine} has a cond switch for action {\bf \$CallInterp}. +In that case it calls {\bf read-line} (see vmlisp.lisp) to read the +input line and returns the result, in this case, the string "1". + +\begin{verbatim} + 2> (|intloopPrefix?| ")fi" "1") + <2 (|intloopPrefix?| NIL) + 2> (|intloopPrefix?| ")" "1") + <2 (|intloopPrefix?| NIL) + 2> (CONCAT "" "1") + <2 (CONCAT "1") + 2> (|ncloopEscaped| "1") + <2 (|ncloopEscaped| NIL) +\end{verbatim} + +\bfref{intloopReadConsole} checks for various +possible special kinds of input. Axiom returned a non-zero length +string. Before processing it we need to check for the ``{\bf )fin}'' +command, which fails. We need to check for a leading ``{\bf )}'', +meaning it is some kind of command input, which fails. We might +have an existing string in the {\bf prefix} argument so we +concatentate it to the input. The {\bf prefix} might contain +text from a previous continued line. Next we check whether the input +line has a trailing underscore, meaning an Axiom line is being +continued, and if so, we recurse in order to read the next line. + +\bfref{intloopPrefix?} which will return NIL if there is no +match of the prefix characters, otherwise it returns the string +without any leading blanks. + +None of these special cases occur with the input ``1''. +Axiom calls \bfref{intloopProcessString} +which calls \bfref{setCurrentLine} to add the +input line to the history which is stored in {\bf \$currentLine}. + +\begin{verbatim} + 2> (|intloopProcessString| "1" 1) + 3> (|setCurrentLine| "1") + <3 (|setCurrentLine| ("1")) +\end{verbatim} + +$\cdots$all the magic happens here$\cdots$ + +$\cdots$ and then {\bf intloopProcessString} will eventually +return the new step number 2. Then Axiom puts up a prompt +and waits for further input. + +\begin{verbatim} + <2 (|intloopProcessString| 2) + 2> (MKPROMPT) + 3> (CONCAT "(" "2" ") -> ") + <3 (CONCAT "(2) -> ") + <2 (MKPROMPT "(2) -> ") +(2) -> + 2> (|serverReadLine| #) + 3> (IS-CONSOLE #) + <3 (IS-CONSOLE T) + 3> (|sockSendInt| 1 3) + <3 (|sockSendInt| 0) + 3> (|serverSwitch|) + +\end{verbatim} +Now Axiom is ready for the next input. + +\section{Parsing the input} +We now examine the magic portion above which has several phases. +The first phase constructs a data structure called a Delay. This +data structure is the core data structure of the ``zipper'' parser. + +The ``zipper'' parser is unique to Axiom. It was invented by Bill +Burge who did research in recursive techniques, including parsing. + +\subsection{Creating a Delay -- incString} +The \bfref{intloopProcessString} has the nested function call +\begin{verbatim} + (|intloopProcess| n t + (|next| #'|ncloopParse| + (|next| #'|lineoftoks| (|incString| s)))) +\end{verbatim} +which according to lisp semantics is processed inside out. First we +examine the call to \bfref{incString} which is passed the input +string ``1''. + +The \bfref{incString} function gets the string from Axiom's input +line, in this case ``1'' and constructs a set of nested function calls +to process the input line. + +\begin{verbatim} + 3> (|incString| "1") +\end{verbatim} + +The \bfref{incString} function calls \bfref{Delay} which changes the +function call into a simple list object prefixed by the symbol tag +{\bf nonnullstream}. + +\begin{verbatim} + 4> (|incLude| 0 ("1") 0 ("strings") (1)) + 5> (|Delay| |incLude1| (0 ("1") 0 ("strings") (1))) + <5 (|Delay| (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1))) + <4 (|incLude| (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1))) +\end{verbatim} +That result is passed to \bfref{incRenumber}, which calls \bfref{incIgen} +which returns a \bfref{Delay}. It then calls \bfref{incZip} to ``zips'' +together the function \bfref{incRenumberLine} and the two delays into +a single delay. This gets put into a delay with \bfref{incZip1} as the +function. +\begin{verbatim} + 4> (|incRenumber| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1))) + 5> (|incIgen| 0) + 6> (|Delay| |incIgen1| (0)) + <6 (|Delay| (|nonnullstream| |incIgen1| 0)) + <5 (|incIgen| (|nonnullstream| |incIgen1| 0)) + + 5> (|incZip| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)) + 6> (|Delay| |incZip1| |incRenumberLine|) + <6 (|Delay| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) + <5 (|incZip| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) + + <4 (|incRenumber| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) + + <3 (|incString| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) +\end{verbatim} + +We are building a stream of functions and arguments stored in a delay +structure which will eventually be evaluated. We continue this process +with the call to \bfref{next} which builds a delay with the function +\bfref{next1} and the current delay. + +\subsection{Creating a Delay -- next} +\begin{verbatim} + 3> (|next| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) + 4> (|Delay| |next1| + (|lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) + <4 (|Delay| (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) + <3 (|next| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) +\end{verbatim} + +\subsection{Creating a Delay -- ncloopParse} +`We continue building a larger delay, this time with a call to +\bfref{next} with the function argument \bfref{ncloopParse} and the +existing delay. + +\begin{verbatim} + 3> (|next| |ncloopParse| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) + 4> (|Delay| #0=|next1| + (|ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) + <4 (|Delay| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) + <3 (|next| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) +\end{verbatim} + +Finally we call \bfref{intloopProcess} with the step number {\bf stepno}, +whether we are talking to the console {\bf interactive} and the delay +we just constructed {\bf delay} + +\subsection{Evaluating a Delay -- intloopProcess} + +At this point we have created a large delay. Now we begin to evaluate it. + +\begin{verbatim} + 3> (|intloopProcess| 1 T + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) +\end{verbatim} + +\bfref{intloopProcess} calls \bfref{StreamNull} which walks the +delay applying the second value, which is a function, to the rest +of the delay. Thus, all of the functions we packaged into the +delay will be evaluated. + +The result of each function call, e.g the result of calling \bfref{next1} +will be a pair, which we call a ParsePair \index{ParsePair}. +The car of the ParsePair is rplaca'd into the delay and +the cdr of the ParsePair is rplacd'd into the delay. +So the delay is gradually reduced by each function call. + +\begin{verbatim} + 4> (|StreamNull| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) +\end{verbatim} + +Here we see the \bfref{next1} function being called from the delay. +It immediately calls \bfref{StreamNull} to process the rest of the delay. + +\begin{verbatim} + 5> (|next1| |ncloopParse| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) + 6> (|StreamNull| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)))) +\end{verbatim} + +\bfref{StreamNull}, now working on the inner portion of the delay, +finds the function \bfref{next1} and calls it, which results in an +immediate inner call to \bfref{StreamNull}. + +\begin{verbatim} + 7> (|next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) + 8> (|StreamNull| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))) +\end{verbatim} + +Descending even further, the \bfref{StreamNull} finds \bfref{incZip1}, +which finds the function \bfref{incRenumberLine} and two delays. +\begin{verbatim} + 9> (|incZip1| + |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0)) +\end{verbatim} +\bfref{incZip1} invokes \bfref{StreamNull} on the first delay, which +invokes \bfref{incLude1} on the rest of the delay. +\begin{verbatim} + 10> (|StreamNull| + (|nonnullstream| |incLude1| 0 ("1") 0 + ("strings") (1))) +\end{verbatim} +\bfref{incLude1} unpacks the argument list and invokes \bfref{StreamNull} +on the second argument \verb|("1")| which is not the expected symbol +{\bf nonnullstream} so \bfref{StreamNull} immediately returns NIL. +\begin{verbatim} + 11> (|incLude1| 0 ("1") 0 ("strings") (1)) + 12> (|StreamNull| ("1")) + <12 (|StreamNull| NIL) +\end{verbatim} +Next, \bfref{incLude1} calls \bfref{incClassify} to which calls +\bfref{incCommand?} which checks for a leading ``)''. Since there +isn't one \bfref{incClassify} immediately returns a list of NIL, 0, +and the empty string. +\begin{verbatim} + 12> (|incClassify| "1") + 13> (|incCommand?| "1") + <13 (|incCommand?| NIL) + <12 (|incClassify| (NIL 0 "")) + + 12> (|Skipping?| 1) + 13> (|KeepPart?| 1) + <13 (|KeepPart?| T) + <12 (|Skipping?| NIL) + + 12> (|xlOK| 0 "1" 1 "strings") + 13> (|xlOK1| 0 "1" "1" 1 "strings") + 14> (INCLINE1 0 "1" "1" -1 1 "strings") + 15> (|lnCreate| 0 "1" -1 1 "strings") + <15 (|lnCreate| (0 "1" -1 1 "strings")) + <14 (INCLINE1 (((0 "1" -1 1 "strings") . 1) . "1")) + <13 (|xlOK1| ((((0 "1" -1 1 "strings") . 1) . "1") + (NIL |none|))) + <12 (|xlOK| ((((0 "1" -1 1 "strings") . 1) . "1") + (NIL |none|))) + + 12> (|incLude| 0 NIL 1 ("strings") (1)) + 13> (|Delay| |incLude1| (0 NIL 1 ("strings") (1))) + <13 (|Delay| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1))) + <12 (|incLude| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1))) + + <11 (|incLude1| + (((((0 "1" -1 1 "strings") . 1) . "1") (NIL |none|)) + |nonnullstream| |incLude1| 0 NIL 1 ("strings") (1))) + <10 (|StreamNull| NIL) +\end{verbatim} + +\begin{verbatim} + 10> (|StreamNull| (|nonnullstream| |incIgen1| 0)) + 11> (|incIgen1| 0) + 12> (|incIgen| 1) + 13> (|Delay| |incIgen1| (1)) + <13 (|Delay| (|nonnullstream| |incIgen1| 1)) + <12 (|incIgen| (|nonnullstream| |incIgen1| 1)) + <11 (|incIgen1| (1 |nonnullstream| |incIgen1| 1)) + <10 (|StreamNull| NIL) + 10> (|incRenumberLine| + ((((0 "1" -1 1 "strings") . 1) . "1") (NIL |none|)) 1) + 11> (|incRenumberItem| + (((0 "1" -1 1 "strings") . 1) . "1") 1) + 12> (|lnSetGlobalNum| (0 "1" -1 1 "strings") 1) + <12 (|lnSetGlobalNum| 1) + <11 (|incRenumberItem| (((0 "1" 1 1 "strings") . 1) . "1")) + 11> (|incHandleMessage| + ((((0 "1" 1 1 "strings") . 1) . "1") (NIL |none|))) + <11 (|incHandleMessage| 0) + <10 (|incRenumberLine| + (((0 "1" 1 1 "strings") . 1) . "1")) +\end{verbatim} + +\begin{verbatim} + 10> (|incZip| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)) + 11> (|Delay| |incZip1| + (|incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <11 (|Delay| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <10 (|incZip| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) +\end{verbatim} + +\begin{verbatim} + <9 (|incZip1| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <8 (|StreamNull| NIL) +\end{verbatim} + +\begin{verbatim} + 8> (|lineoftoks| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 9> (|nextline| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 10> (|npNull| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 11> (|StreamNull| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <11 (|StreamNull| NIL) + <10 (|npNull| NIL) + 10> (STRPOSL " " "1" 0 T) + <10 (STRPOSL 0) + <9 (|nextline| T) + 9> (|scanIgnoreLine| "1" 0) + 10> (QENUM "1" 0) + <10 (QENUM 49) + <9 (|scanIgnoreLine| 0) + 9> (|incPrefix?| "command" 1 "1") + <9 (|incPrefix?| NIL) + 9> (|scanToken|) + 10> (QENUM "1" 0) + <10 (QENUM 49) + 10> (|startsComment?|) + 11> (QENUM "1" 0) + <11 (QENUM 49) + <10 (|startsComment?| NIL) + 10> (|startsNegComment?|) + 11> (QENUM "1" 0) + <11 (QENUM 49) + <10 (|startsNegComment?| NIL) + 10> (|punctuation?| 49) + <10 (|punctuation?| NIL) + 10> (|digit?| #\1) + 11> (DIGITP #\1) + <11 (DIGITP 1) + <10 (|digit?| 1) + 10> (|scanNumber|) + 11> (|spleI| |digit?|) + 12> (|spleI1| |digit?| NIL) + 13> (|digit?| #\1) + 14> (DIGITP #\1) + <14 (DIGITP 1) + <13 (|digit?| 1) + <12 (|spleI1| "1") + <11 (|spleI| "1") + 11> (|lfinteger| "1") + <11 (|lfinteger| (|integer| "1")) + <10 (|scanNumber| (|integer| "1")) + 10> (|lnExtraBlanks| (0 "1" 1 1 "strings")) + <10 (|lnExtraBlanks| 0) + 10> (|constoken| + "1" (0 "1" 1 1 "strings") (|integer| "1") 0) + 11> (|ncPutQ| + (|integer| . "1") |posn| ((0 "1" 1 1 "strings") . 0)) + 12> (|ncAlist| (|integer| . "1")) + <12 (|ncAlist| NIL) + 12> (|ncAlist| (|integer| . "1")) + <12 (|ncAlist| NIL) + 12> (|ncTag| (|integer| . "1")) + <12 (|ncTag| |integer|) + <11 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <10 (|constoken| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) + 10> (|dqUnit| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) + <10 (|dqUnit| + (#0=(((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) . #0#)) + <9 (|scanToken| + (#0=(((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) . #0#)) + 9> (|dqAppend| NIL + (#0=(((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) . #0#)) + <9 (|dqAppend| + (#0=(((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . + "1")) . #0#)) + <8 (|lineoftoks| + ((((#0=( + ((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) . "1")) + . #0#) + (((#1# . 1) . "1") . + #2=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + . #2#)) +\end{verbatim} + +\begin{verbatim} + 8> (|next| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 9> (|Delay| |next1| + (|lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) + <9 (|Delay| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) + <8 (|next| + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) +\end{verbatim} + +\begin{verbatim} + 8> (|incAppend| + (((#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) . "1")) . #0#) + (((#1# . 1) . "1") . + #2=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #2#)) + 9> (|Delay| |incAppend1| + ((((#1=(( + (|integer| (|posn| #2=(0 "1" 1 1 "strings") . 0)) . + "1")) . #1#) + (((#2# . 1) . "1") . + #3=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #3#))) + <9 (|Delay| + (|nonnullstream| |incAppend1| + (((#1= + (((|integer| (|posn| #2=(0 "1" 1 1 "strings") . 0)) + . "1")) + . #1#) + (((#2# . 1) . "1") . + #3=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #3#))) + <8 (|incAppend| + (|nonnullstream| |incAppend1| + (((#1=(((|integer| (|posn| #2=(0 "1" 1 1 "strings") . 0)) . "1")) . #1#) + (((#2# . 1) . "1") . + #3=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #3#))) +\end{verbatim} + +\begin{verbatim} + <7 (|next1| + (|nonnullstream| |incAppend1| + (((#1=(((|integer| (|posn| #2=(0 "1" 1 1 "strings") . 0)) + . "1")) + . #1#) (((#2# . 1) . "1") . + #3=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #3#))) + 7> (|incAppend1| + (((#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) . + "1")) + . #0#) (((#1# . 1) . "1") . + #2=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + (|nonnullstream| |next1| |lineoftoks| #2#)) +\end{verbatim} + +\begin{verbatim} + 8> (|StreamNull| + (((#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + . #0#) (((#1# . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + <8 (|StreamNull| NIL) +\end{verbatim} + +\begin{verbatim} + 8> (|incAppend| NIL + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) + 9> (|Delay| |incAppend1| + (NIL + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + <9 (|Delay| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) + <8 (|incAppend| (|nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))))) +\end{verbatim} + +\begin{verbatim} + <7 (|incAppend1| + (((#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) . #0#) (((#1# . 1) . "1") + . #2=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) + |nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| #2#))) + <6 (|StreamNull| NIL) +\end{verbatim} + +\begin{verbatim} + 6> (|ncloopParse| + (((#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) . #0#) (((#1# . 1) . "1") + . #2=(|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)))) + |nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| #2#))) + 7> (|ncloopDQlines| + (#0=(((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) . #0#) (((#1# . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 8> (|StreamNull| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <8 (|StreamNull| NIL) + 8> (|tokPosn| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 9> (|ncAlist| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <9 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <8 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 8> (|poGlobalLinePosn| ((0 "1" 1 1 "strings") . 0)) + 9> (|poGetLineObject| ((0 "1" 1 1 "strings") . 0)) + <9 (|poGetLineObject| (0 "1" 1 1 "strings")) + 9> (|lnGlobalNum| (0 "1" 1 1 "strings")) + <9 (|lnGlobalNum| 1) + <8 (|poGlobalLinePosn| 1) + 8> (|poGlobalLinePosn| ((0 "1" 1 1 "strings") . 1)) + 9> (|poGetLineObject| ((0 "1" 1 1 "strings") . 1)) + <9 (|poGetLineObject| (0 "1" 1 1 "strings")) + 9> (|lnGlobalNum| (0 "1" 1 1 "strings")) + <9 (|lnGlobalNum| 1) + <8 (|poGlobalLinePosn| 1) + 8> (|streamChop| 1 + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 9> (|StreamNull| + ((((0 "1" 1 1 "strings") . 1) . "1") + |nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + <9 (|StreamNull| NIL) + 9> (|streamChop| 0 + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 10> (|StreamNull| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1))) + 11> (|incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1)) + (|nonnullstream| |incIgen1| 1)) + 12> (|StreamNull| + (|nonnullstream| |incLude1| 0 NIL 1 ("strings") (1))) + 13> (|incLude1| 0 NIL 1 ("strings") (1)) + 14> (|StreamNull| NIL) + <14 (|StreamNull| T) + 14> (|Top?| 1) + <14 (|Top?| T) + <13 (|incLude1| (|nullstream|)) + <12 (|StreamNull| T) + <11 (|incZip1| (|nullstream|)) + <10 (|StreamNull| T) + <9 (|streamChop| (NIL NIL)) + 9> (|ncloopPrefix?| ")command" "1") + <9 (|ncloopPrefix?| NIL) + <8 (|streamChop| (((((0 "1" 1 1 "strings") . 1) . "1")) NIL)) + <7 (|ncloopDQlines| (((((0 "1" 1 1 "strings") . 1) . "1")) NIL)) + 7> (|dqToList| + (#0=(( + (|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) . #0#)) + <7 (|dqToList| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + 7> (|npParse| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + 8> (|npFirstTok|) + 9> (|tokPart| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <9 (|tokPart| "1") + <8 (|npFirstTok| "1") + 8> (|npItem|) + 9> (|npQualDef|) + 10> (|npComma|) + 11> (|npTuple| |npQualifiedDefinition|) + 12> (|npListofFun| + |npQualifiedDefinition| + |npCommaBackSet| + |pfTupleListOf|) + 13> (|npQualifiedDefinition|) + 14> (|npQualified| |npDefinitionOrStatement|) + 15> (|npDefinitionOrStatement|) + 16> (|npBackTrack| |npGives| DEF |npDef|) + 17> (|npState|) + <17 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 17> (|npGives|) + 18> (|npBackTrack| |npExit| GIVES |npLambda|) + 19> (|npState|) + <19 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 19> (|npExit|) + 20> (|npBackTrack| |npAssign| EXIT |npPileExit|) + 21> (|npState|) + <21 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 21> (|npAssign|) + 22> (|npBackTrack| |npMDEF| BECOMES |npAssignment|) + 23> (|npState|) + <23 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 23> (|npMDEF|) + 24> (|npBackTrack| |npStatement| MDEF |npMDEFinition|) + 25> (|npState|) + <25 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 25> (|npStatement|) + 26> (|npExpress|) + 27> (|npExpress1|) + 28> (|npConditionalStatement|) + 29> (|npConditional| |npQualifiedDefinition|) + 30> (|npEqKey| IF) + <30 (|npEqKey| NIL) + <29 (|npConditional| NIL) + <28 (|npConditionalStatement| NIL) + 28> (|npADD|) + 29> (|npType|) + 30> (|npMatch|) + 31> (|npLeftAssoc| (IS ISNT) |npSuch|) + 32> (|npSuch|) + 33> (|npLeftAssoc| (BAR) |npLogical|) + 34> (|npLogical|) + 35> (|npLeftAssoc| (OR) |npDisjand|) + 36> (|npDisjand|) + 37> (|npLeftAssoc| (AND) |npDiscrim|) + 38> (|npDiscrim|) + 39> (|npLeftAssoc| (CASE HAS) |npQuiver|) + 40> (|npQuiver|) + 41> (|npRightAssoc| (ARROW LARROW) |npRelation|) + 42> (|npState|) + <42 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 42> (|npRelation|) + 43> (|npLeftAssoc| + (EQUAL NOTEQUAL LT LE GT GE OANGLE CANGLE) + |npSynthetic|) + 44> (|npSynthetic|) + 45> (|npBy|) + 46> (|npLeftAssoc| (BY) |npInterval|) + 47> (|npInterval|) + 48> (|npArith|) + 49> (|npLeftAssoc| (MOD) |npSum|) + 50> (|npSum|) + 51> (|npLeftAssoc| (PLUS MINUS) |npTerm|) + 52> (|npTerm|) + 53> (|npInfGeneric| (MINUS PLUS)) + 54> (|npDDInfKey| (MINUS PLUS)) + 55> (|npInfKey| (MINUS PLUS)) + <55 (|npInfKey| NIL) + 55> (|npState|) + <55 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 55> (|npEqKey| |'|) + <55 (|npEqKey| NIL) + 55> (|npRestore| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 56> (|npFirstTok|) + 57> (|tokPart| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <57 (|tokPart| "1") + <56 (|npFirstTok| "1") + <55 (|npRestore| T) + 55> (|npEqKey| BACKQUOTE) + <55 (|npEqKey| NIL) + 55> (|npRestore| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 56> (|npFirstTok|) + 57> (|tokPart| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <57 (|tokPart| "1") + <56 (|npFirstTok| "1") + <55 (|npRestore| T) + <54 (|npDDInfKey| NIL) + <53 (|npInfGeneric| NIL) + 53> (|npRemainder|) + 54> (|npLeftAssoc| (REM QUO) |npProduct|) + 55> (|npProduct|) + 56> (|npLeftAssoc| + (TIMES SLASH BACKSLASH SLASHSLASH BACKSLASHBACKSLASH + SLASHBACKSLASH BACKSLASHSLASH) + |npPower|) + 57> (|npPower|) + 58> (|npRightAssoc| (POWER CARAT) |npColon|) + 59> (|npState|) + <59 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 59> (|npColon|) + 60> (|npTypified|) + 61> (|npApplication|) + 62> (|npDotted| |npPrimary|) + 63> (|npPrimary|) + 64> (|npPrimary1|) + 65> (|npEncAp| |npAtom1|) + 66> (|npAtom1|) + 67> (|npPDefinition|) + 68> (|npParenthesized| |npDefinitionlist|) + 69> (|npParenthesize| |(| |)| |npDefinitionlist|) + 70> (|npEqKey| |(|) + <70 (|npEqKey| NIL) + <69 (|npParenthesize| NIL) + 69> (|npParenthesize| |(\|| |\|)| |npDefinitionlist|) + 70> (|npEqKey| |(\||) + <70 (|npEqKey| NIL) + <69 (|npParenthesize| NIL) + <68 (|npParenthesized| NIL) + <67 (|npPDefinition| NIL) + 67> (|npName|) + 68> (|npId|) + <68 (|npId| NIL) + 68> (|npSymbolVariable|) + 69> (|npState|) + <69 (|npState| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 69> (|npEqKey| BACKQUOTE) + <69 (|npEqKey| NIL) + 69> (|npRestore| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 70> (|npFirstTok|) + 71> (|tokPart| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <71 (|tokPart| "1") + <70 (|npFirstTok| "1") + <69 (|npRestore| T) + <68 (|npSymbolVariable| NIL) + <67 (|npName| NIL) + 67> (|npConstTok|) + 68> (|tokType| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 69> (|ncTag| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <69 (|ncTag| |integer|) + <68 (|tokType| |integer|) + 68> (|npPush| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <68 (|npPush| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 68> (|npNext|) + 69> (|npFirstTok|) + 70> (|tokPosn| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 71> (|ncAlist| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <71 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <70 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 70> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 71> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 72> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <72 (|poNoPosition?| NIL) + <71 (|pfNoPosition?| NIL) + 71> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 72> (|ncAlist| (ERROR . NOMORE)) + <72 (|ncAlist| NIL) + 72> (|ncAlist| (ERROR . NOMORE)) + <72 (|ncAlist| NIL) + 72> (|ncTag| (ERROR . NOMORE)) + <72 (|ncTag| ERROR) + <71 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <70 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) + . NOMORE)) + 70> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <70 (|tokPart| NOMORE) + <69 (|npFirstTok| NOMORE) + <68 (|npNext| NOMORE) + <67 (|npConstTok| NOMORE) + 67> (|npFromdom|) + 68> (|npEqKey| $) + <68 (|npEqKey| NIL) + <67 (|npFromdom| T) + <66 (|npAtom1| T) + 66> (|npAnyNo| |npEncl|) + 67> (|npEncl|) + 68> (|npBDefinition|) + 69> (|npPDefinition|) + 70> (|npParenthesized| |npDefinitionlist|) + 71> (|npParenthesize| |(| |)| |npDefinitionlist|) + 72> (|npEqKey| |(|) + <72 (|npEqKey| NIL) + <71 (|npParenthesize| NIL) + 71> (|npParenthesize| |(\|| |\|)| |npDefinitionlist|) + 72> (|npEqKey| |(\||) + <72 (|npEqKey| NIL) + <71 (|npParenthesize| NIL) + <70 (|npParenthesized| NIL) + <69 (|npPDefinition| NIL) + 69> (|npBracketed| |npDefinitionlist|) + 70> (|npParened| |npDefinitionlist|) + 71> (|npEnclosed| |(| |)| |pfParen| |npDefinitionlist|) + 72> (|npEqKey| |(|) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + 71> (|npEnclosed| |(\|| |\|)| |pfParen| |npDefinitionlist|) + 72> (|npEqKey| |(\||) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + <70 (|npParened| NIL) + 70> (|npBracked| |npDefinitionlist|) + 71> (|npEnclosed| [ ] |pfBracket| |npDefinitionlist|) + 72> (|npEqKey| [) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + 71> (|npEnclosed| |[\|| |\|]| + |pfBracketBar| |npDefinitionlist|) + 72> (|npEqKey| |[\||) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + <70 (|npBracked| NIL) + 70> (|npBraced| |npDefinitionlist|) + 71> (|npEnclosed| { } |pfBrace| |npDefinitionlist|) + 72> (|npEqKey| {) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + 71> (|npEnclosed| |{\|| |\|}| + |pfBraceBar| |npDefinitionlist|) + 72> (|npEqKey| |{\||) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + <70 (|npBraced| NIL) + 70> (|npAngleBared| |npDefinitionlist|) + 71> (|npEnclosed| |<\|| |\|>| |pfHide| |npDefinitionlist|) + 72> (|npEqKey| |<\||) + <72 (|npEqKey| NIL) + <71 (|npEnclosed| NIL) + <70 (|npAngleBared| NIL) + <69 (|npBracketed| NIL) + <68 (|npBDefinition| NIL) + <67 (|npEncl| NIL) + <66 (|npAnyNo| T) + 66> (|npFromdom|) + 67> (|npEqKey| $) + <67 (|npEqKey| NIL) + <66 (|npFromdom| T) + <65 (|npEncAp| T) + <64 (|npPrimary1| T) + <63 (|npPrimary| T) + 63> (|npAnyNo| |npSelector|) + 64> (|npSelector|) + 65> (|npEqKey| DOT) + <65 (|npEqKey| NIL) + <64 (|npSelector| NIL) + <63 (|npAnyNo| T) + <62 (|npDotted| T) + 62> (|npApplication2|) + 63> (|npDotted| |npPrimary1|) + 64> (|npPrimary1|) + 65> (|npEncAp| |npAtom1|) + 66> (|npAtom1|) + 67> (|npPDefinition|) + 68> (|npParenthesized| |npDefinitionlist|) + 69> (|npParenthesize| |(| |)| |npDefinitionlist|) + 70> (|npEqKey| |(|) + <70 (|npEqKey| NIL) + <69 (|npParenthesize| NIL) + 69> (|npParenthesize| |(\|| |\|)| |npDefinitionlist|) + 70> (|npEqKey| |(\||) + <70 (|npEqKey| NIL) + <69 (|npParenthesize| NIL) + <68 (|npParenthesized| NIL) + <67 (|npPDefinition| NIL) + 67> (|npName|) + 68> (|npId|) + <68 (|npId| NIL) + 68> (|npSymbolVariable|) + 69> (|npState|) + <69 (|npState| + (NIL ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 69> (|npEqKey| BACKQUOTE) + <69 (|npEqKey| NIL) + 69> (|npRestore| + (NIL ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 70> (|npFirstTok|) + 71> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 72> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <72 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <71 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 71> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 72> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 73> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <73 (|poNoPosition?| NIL) + <72 (|pfNoPosition?| NIL) + 72> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 73> (|ncAlist| (ERROR . NOMORE)) + <73 (|ncAlist| NIL) + 73> (|ncAlist| (ERROR . NOMORE)) + <73 (|ncAlist| NIL) + 73> (|ncTag| (ERROR . NOMORE)) + <73 (|ncTag| ERROR) + <72 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <71 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 71> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <71 (|tokPart| NOMORE) + <70 (|npFirstTok| NOMORE) + <69 (|npRestore| T) + <68 (|npSymbolVariable| NIL) + <67 (|npName| NIL) + 67> (|npConstTok|) + 68> (|tokType| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 69> (|ncTag| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <69 (|ncTag| ERROR) + <68 (|tokType| ERROR) + 68> (|npEqPeek| |'|) + <68 (|npEqPeek| NIL) + <67 (|npConstTok| NIL) + 67> (|npDollar|) + 68> (|npEqPeek| $) + <68 (|npEqPeek| NIL) + <67 (|npDollar| NIL) + 67> (|npBDefinition|) + 68> (|npPDefinition|) + 69> (|npParenthesized| |npDefinitionlist|) + 70> (|npParenthesize| |(| |)| |npDefinitionlist|) + 71> (|npEqKey| |(|) + <71 (|npEqKey| NIL) + <70 (|npParenthesize| NIL) + 70> (|npParenthesize| |(\|| |\|)| |npDefinitionlist|) + 71> (|npEqKey| |(\||) + <71 (|npEqKey| NIL) + <70 (|npParenthesize| NIL) + <69 (|npParenthesized| NIL) + <68 (|npPDefinition| NIL) + 68> (|npBracketed| |npDefinitionlist|) + 69> (|npParened| |npDefinitionlist|) + 70> (|npEnclosed| |(| |)| |pfParen| |npDefinitionlist|) + 71> (|npEqKey| |(|) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + 70> (|npEnclosed| |(\|| |\|)| |pfParen| |npDefinitionlist|) + 71> (|npEqKey| |(\||) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + <69 (|npParened| NIL) + 69> (|npBracked| |npDefinitionlist|) + 70> (|npEnclosed| [ ] |pfBracket| |npDefinitionlist|) + 71> (|npEqKey| [) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + 70> (|npEnclosed| |[\|| |\|]| + |pfBracketBar| |npDefinitionlist|) + 71> (|npEqKey| |[\||) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + <69 (|npBracked| NIL) + 69> (|npBraced| |npDefinitionlist|) + 70> (|npEnclosed| { } |pfBrace| |npDefinitionlist|) + 71> (|npEqKey| {) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + 70> (|npEnclosed| |{\|| |\|}| + |pfBraceBar| |npDefinitionlist|) + 71> (|npEqKey| |{\||) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + <69 (|npBraced| NIL) + 69> (|npAngleBared| |npDefinitionlist|) + 70> (|npEnclosed| |<\|| |\|>| |pfHide| |npDefinitionlist|) + 71> (|npEqKey| |<\||) + <71 (|npEqKey| NIL) + <70 (|npEnclosed| NIL) + <69 (|npAngleBared| NIL) + <68 (|npBracketed| NIL) + <67 (|npBDefinition| NIL) + <66 (|npAtom1| NIL) + <65 (|npEncAp| NIL) + 65> (|npLet|) + 66> (|npLetQualified| |npDefinitionOrStatement|) + 67> (|npEqKey| LET) + <67 (|npEqKey| NIL) + <66 (|npLetQualified| NIL) + <65 (|npLet| NIL) + 65> (|npFix|) + 66> (|npEqKey| FIX) + <66 (|npEqKey| NIL) + <65 (|npFix| NIL) + 65> (|npMacro|) + 66> (|npEqKey| MACRO) + <66 (|npEqKey| NIL) + <65 (|npMacro| NIL) + 65> (|npBPileDefinition|) + 66> (|npPileBracketed| |npPileDefinitionlist|) + 67> (|npEqKey| SETTAB) + <67 (|npEqKey| NIL) + <66 (|npPileBracketed| NIL) + <65 (|npBPileDefinition| NIL) + 65> (|npDefn|) + 66> (|npEqKey| DEFN) + <66 (|npEqKey| NIL) + <65 (|npDefn| NIL) + 65> (|npRule|) + 66> (|npEqKey| RULE) + <66 (|npEqKey| NIL) + <65 (|npRule| NIL) + <64 (|npPrimary1| NIL) + <63 (|npDotted| NIL) + <62 (|npApplication2| NIL) + <61 (|npApplication| T) + 61> (|npAnyNo| |npTypeStyle|) + 62> (|npTypeStyle|) + 63> (|npCoerceTo|) + 64> (|npTypedForm| COERCE |pfCoerceto|) + 65> (|npEqKey| COERCE) + <65 (|npEqKey| NIL) + <64 (|npTypedForm| NIL) + <63 (|npCoerceTo| NIL) + 63> (|npRestrict|) + 64> (|npTypedForm| AT |pfRestrict|) + 65> (|npEqKey| AT) + <65 (|npEqKey| NIL) + <64 (|npTypedForm| NIL) + <63 (|npRestrict| NIL) + 63> (|npPretend|) + 64> (|npTypedForm| PRETEND |pfPretend|) + 65> (|npEqKey| PRETEND) + <65 (|npEqKey| NIL) + <64 (|npTypedForm| NIL) + <63 (|npPretend| NIL) + 63> (|npColonQuery|) + 64> (|npTypedForm| ATAT |pfRetractTo|) + 65> (|npEqKey| ATAT) + <65 (|npEqKey| NIL) + <64 (|npTypedForm| NIL) + <63 (|npColonQuery| NIL) + <62 (|npTypeStyle| NIL) + <61 (|npAnyNo| T) + <60 (|npTypified| T) + 60> (|npAnyNo| |npTagged|) + 61> (|npTagged|) + 62> (|npTypedForm1| COLON |pfTagged|) + 63> (|npEqKey| COLON) + <63 (|npEqKey| NIL) + <62 (|npTypedForm1| NIL) + <61 (|npTagged| NIL) + <60 (|npAnyNo| T) + <59 (|npColon| T) + 59> (|npInfGeneric| (POWER CARAT)) + 60> (|npDDInfKey| (POWER CARAT)) + 61> (|npInfKey| (POWER CARAT)) + <61 (|npInfKey| NIL) + 61> (|npState|) + <61 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 61> (|npEqKey| |'|) + <61 (|npEqKey| NIL) + 61> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 62> (|npFirstTok|) + 63> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 64> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <64 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <63 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 63> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 64> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 65> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <65 (|poNoPosition?| NIL) + <64 (|pfNoPosition?| NIL) + 64> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 65> (|ncAlist| (ERROR . NOMORE)) + <65 (|ncAlist| NIL) + 65> (|ncAlist| (ERROR . NOMORE)) + <65 (|ncAlist| NIL) + 65> (|ncTag| (ERROR . NOMORE)) + <65 (|ncTag| ERROR) + <64 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <63 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 63> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <63 (|tokPart| NOMORE) + <62 (|npFirstTok| NOMORE) + <61 (|npRestore| T) + 61> (|npEqKey| BACKQUOTE) + <61 (|npEqKey| NIL) + 61> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 62> (|npFirstTok|) + 63> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 64> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <64 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <63 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 63> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 64> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 65> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <65 (|poNoPosition?| NIL) + <64 (|pfNoPosition?| NIL) + 64> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 65> (|ncAlist| (ERROR . NOMORE)) + <65 (|ncAlist| NIL) + 65> (|ncAlist| (ERROR . NOMORE)) + <65 (|ncAlist| NIL) + 65> (|ncTag| (ERROR . NOMORE)) + <65 (|ncTag| ERROR) + <64 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <63 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 63> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <63 (|tokPart| NOMORE) + <62 (|npFirstTok| NOMORE) + <61 (|npRestore| T) + <60 (|npDDInfKey| NIL) + <59 (|npInfGeneric| NIL) + <58 (|npRightAssoc| T) + <57 (|npPower| T) + 57> (|npInfGeneric| + (TIMES SLASH BACKSLASH SLASHSLASH BACKSLASHBACKSLASH + SLASHBACKSLASH BACKSLASHSLASH)) + 58> (|npDDInfKey| + (TIMES SLASH BACKSLASH SLASHSLASH BACKSLASHBACKSLASH + SLASHBACKSLASH BACKSLASHSLASH)) + 59> (|npInfKey| + (TIMES SLASH BACKSLASH SLASHSLASH BACKSLASHBACKSLASH + SLASHBACKSLASH BACKSLASHSLASH)) + <59 (|npInfKey| NIL) + 59> (|npState|) + <59 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 59> (|npEqKey| |'|) + <59 (|npEqKey| NIL) + 59> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 60> (|npFirstTok|) + 61> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 62> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <62 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <61 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 61> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 62> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 63> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <63 (|poNoPosition?| NIL) + <62 (|pfNoPosition?| NIL) + 62> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 63> (|ncAlist| (ERROR . NOMORE)) + <63 (|ncAlist| NIL) + 63> (|ncAlist| (ERROR . NOMORE)) + <63 (|ncAlist| NIL) + 63> (|ncTag| (ERROR . NOMORE)) + <63 (|ncTag| ERROR) + <62 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <61 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 61> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <61 (|tokPart| NOMORE) + <60 (|npFirstTok| NOMORE) + <59 (|npRestore| T) + 59> (|npEqKey| BACKQUOTE) + <59 (|npEqKey| NIL) + 59> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 60> (|npFirstTok|) + 61> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 62> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <62 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <61 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 61> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 62> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 63> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <63 (|poNoPosition?| NIL) + <62 (|pfNoPosition?| NIL) + 62> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 63> (|ncAlist| (ERROR . NOMORE)) + <63 (|ncAlist| NIL) + 63> (|ncAlist| (ERROR . NOMORE)) + <63 (|ncAlist| NIL) + 63> (|ncTag| (ERROR . NOMORE)) + <63 (|ncTag| ERROR) + <62 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <61 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 61> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <61 (|tokPart| NOMORE) + <60 (|npFirstTok| NOMORE) + <59 (|npRestore| T) + <58 (|npDDInfKey| NIL) + <57 (|npInfGeneric| NIL) + <56 (|npLeftAssoc| T) + <55 (|npProduct| T) + 55> (|npInfGeneric| (REM QUO)) + 56> (|npDDInfKey| (REM QUO)) + 57> (|npInfKey| (REM QUO)) + <57 (|npInfKey| NIL) + 57> (|npState|) + <57 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 57> (|npEqKey| |'|) + <57 (|npEqKey| NIL) + 57> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 58> (|npFirstTok|) + 59> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 60> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <60 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <59 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 59> (|tokConstruct| ERROR NOMORE ( + (0 "1" 1 1 "strings") . 0)) + 60> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 61> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <61 (|poNoPosition?| NIL) + <60 (|pfNoPosition?| NIL) + 60> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 61> (|ncAlist| (ERROR . NOMORE)) + <61 (|ncAlist| NIL) + 61> (|ncAlist| (ERROR . NOMORE)) + <61 (|ncAlist| NIL) + 61> (|ncTag| (ERROR . NOMORE)) + <61 (|ncTag| ERROR) + <60 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <59 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 59> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <59 (|tokPart| NOMORE) + <58 (|npFirstTok| NOMORE) + <57 (|npRestore| T) + 57> (|npEqKey| BACKQUOTE) + <57 (|npEqKey| NIL) + 57> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 58> (|npFirstTok|) + 59> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 60> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <60 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <59 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 59> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 60> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 61> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <61 (|poNoPosition?| NIL) + <60 (|pfNoPosition?| NIL) + 60> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 61> (|ncAlist| (ERROR . NOMORE)) + <61 (|ncAlist| NIL) + 61> (|ncAlist| (ERROR . NOMORE)) + <61 (|ncAlist| NIL) + 61> (|ncTag| (ERROR . NOMORE)) + <61 (|ncTag| ERROR) + <60 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <59 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 59> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <59 (|tokPart| NOMORE) + <58 (|npFirstTok| NOMORE) + <57 (|npRestore| T) + <56 (|npDDInfKey| NIL) + <55 (|npInfGeneric| NIL) + <54 (|npLeftAssoc| T) + <53 (|npRemainder| T) + <52 (|npTerm| T) + 52> (|npInfGeneric| (PLUS MINUS)) + 53> (|npDDInfKey| (PLUS MINUS)) + 54> (|npInfKey| (PLUS MINUS)) + <54 (|npInfKey| NIL) + 54> (|npState|) + <54 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 54> (|npEqKey| |'|) + <54 (|npEqKey| NIL) + 54> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 55> (|npFirstTok|) + 56> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 57> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <57 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <56 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 56> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 57> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 58> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <58 (|poNoPosition?| NIL) + <57 (|pfNoPosition?| NIL) + 57> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 58> (|ncAlist| (ERROR . NOMORE)) + <58 (|ncAlist| NIL) + 58> (|ncAlist| (ERROR . NOMORE)) + <58 (|ncAlist| NIL) + 58> (|ncTag| (ERROR . NOMORE)) + <58 (|ncTag| ERROR) + <57 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <56 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 56> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <56 (|tokPart| NOMORE) + <55 (|npFirstTok| NOMORE) + <54 (|npRestore| T) + 54> (|npEqKey| BACKQUOTE) + <54 (|npEqKey| NIL) + 54> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 55> (|npFirstTok|) + 56> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 57> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <57 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <56 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 56> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 57> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 58> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <58 (|poNoPosition?| NIL) + <57 (|pfNoPosition?| NIL) + 57> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 58> (|ncAlist| (ERROR . NOMORE)) + <58 (|ncAlist| NIL) + 58> (|ncAlist| (ERROR . NOMORE)) + <58 (|ncAlist| NIL) + 58> (|ncTag| (ERROR . NOMORE)) + <58 (|ncTag| ERROR) + <57 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <56 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 56> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <56 (|tokPart| NOMORE) + <55 (|npFirstTok| NOMORE) + <54 (|npRestore| T) + <53 (|npDDInfKey| NIL) + <52 (|npInfGeneric| NIL) + <51 (|npLeftAssoc| T) + <50 (|npSum| T) + 50> (|npInfGeneric| (MOD)) + 51> (|npDDInfKey| (MOD)) + 52> (|npInfKey| (MOD)) + <52 (|npInfKey| NIL) + 52> (|npState|) + <52 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 52> (|npEqKey| |'|) + <52 (|npEqKey| NIL) + 52> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 53> (|npFirstTok|) + 54> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 55> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <55 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <54 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 54> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 55> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 56> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <56 (|poNoPosition?| NIL) + <55 (|pfNoPosition?| NIL) + 55> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 56> (|ncAlist| (ERROR . NOMORE)) + <56 (|ncAlist| NIL) + 56> (|ncAlist| (ERROR . NOMORE)) + <56 (|ncAlist| NIL) + 56> (|ncTag| (ERROR . NOMORE)) + <56 (|ncTag| ERROR) + <55 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <54 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 54> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <54 (|tokPart| NOMORE) + <53 (|npFirstTok| NOMORE) + <52 (|npRestore| T) + 52> (|npEqKey| BACKQUOTE) + <52 (|npEqKey| NIL) + 52> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 53> (|npFirstTok|) + 54> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 55> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <55 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <54 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 54> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 55> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 56> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <56 (|poNoPosition?| NIL) + <55 (|pfNoPosition?| NIL) + 55> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 56> (|ncAlist| (ERROR . NOMORE)) + <56 (|ncAlist| NIL) + 56> (|ncAlist| (ERROR . NOMORE)) + <56 (|ncAlist| NIL) + 56> (|ncTag| (ERROR . NOMORE)) + <56 (|ncTag| ERROR) + <55 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <54 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 54> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <54 (|tokPart| NOMORE) + <53 (|npFirstTok| NOMORE) + <52 (|npRestore| T) + <51 (|npDDInfKey| NIL) + <50 (|npInfGeneric| NIL) + <49 (|npLeftAssoc| T) + <48 (|npArith| T) + 48> (|npSegment|) + 49> (|npEqPeek| SEG) + <49 (|npEqPeek| NIL) + <48 (|npSegment| NIL) + <47 (|npInterval| T) + 47> (|npInfGeneric| (BY)) + 48> (|npDDInfKey| (BY)) + 49> (|npInfKey| (BY)) + <49 (|npInfKey| NIL) + 49> (|npState|) + <49 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 49> (|npEqKey| |'|) + <49 (|npEqKey| NIL) + 49> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 50> (|npFirstTok|) + 51> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 52> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <52 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <51 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 51> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 52> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 53> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <53 (|poNoPosition?| NIL) + <52 (|pfNoPosition?| NIL) + 52> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 53> (|ncAlist| (ERROR . NOMORE)) + <53 (|ncAlist| NIL) + 53> (|ncAlist| (ERROR . NOMORE)) + <53 (|ncAlist| NIL) + 53> (|ncTag| (ERROR . NOMORE)) + <53 (|ncTag| ERROR) + <52 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <51 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 51> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <51 (|tokPart| NOMORE) + <50 (|npFirstTok| NOMORE) + <49 (|npRestore| T) + 49> (|npEqKey| BACKQUOTE) + <49 (|npEqKey| NIL) + 49> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 50> (|npFirstTok|) + 51> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 52> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <52 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <51 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 51> (|tokConstruct| ERROR NOMORE ((0 "1" 1 1 "strings") . + 0)) + 52> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 53> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <53 (|poNoPosition?| NIL) + <52 (|pfNoPosition?| NIL) + 52> (|ncPutQ| + (ERROR . NOMORE) |posn| ((0 "1" 1 1 "strings") . 0)) + 53> (|ncAlist| (ERROR . NOMORE)) + <53 (|ncAlist| NIL) + 53> (|ncAlist| (ERROR . NOMORE)) + <53 (|ncAlist| NIL) + 53> (|ncTag| (ERROR . NOMORE)) + <53 (|ncTag| ERROR) + <52 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <51 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 51> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <51 (|tokPart| NOMORE) + <50 (|npFirstTok| NOMORE) + <49 (|npRestore| T) + <48 (|npDDInfKey| NIL) + <47 (|npInfGeneric| NIL) + <46 (|npLeftAssoc| T) + <45 (|npBy| T) + 45> (|npAmpersandFrom|) + 46> (|npAmpersand|) + 47> (|npEqKey| AMPERSAND) + <47 (|npEqKey| NIL) + <46 (|npAmpersand| NIL) + <45 (|npAmpersandFrom| NIL) + <44 (|npSynthetic| T) + 44> (|npInfGeneric| + (EQUAL NOTEQUAL LT LE GT GE OANGLE CANGLE)) + 45> (|npDDInfKey| + (EQUAL NOTEQUAL LT LE GT GE OANGLE CANGLE)) + 46> (|npInfKey| (EQUAL NOTEQUAL LT LE GT GE OANGLE CANGLE)) + <46 (|npInfKey| NIL) + 46> (|npState|) + <46 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 46> (|npEqKey| |'|) + <46 (|npEqKey| NIL) + 46> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 47> (|npFirstTok|) + 48> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 49> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <49 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <48 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 48> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 49> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 50> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <50 (|poNoPosition?| NIL) + <49 (|pfNoPosition?| NIL) + 49> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 50> (|ncAlist| (ERROR . NOMORE)) + <50 (|ncAlist| NIL) + 50> (|ncAlist| (ERROR . NOMORE)) + <50 (|ncAlist| NIL) + 50> (|ncTag| (ERROR . NOMORE)) + <50 (|ncTag| ERROR) + <49 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <48 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 48> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <48 (|tokPart| NOMORE) + <47 (|npFirstTok| NOMORE) + <46 (|npRestore| T) + 46> (|npEqKey| BACKQUOTE) + <46 (|npEqKey| NIL) + 46> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 47> (|npFirstTok|) + 48> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 49> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <49 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <48 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 48> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 49> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 50> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <50 (|poNoPosition?| NIL) + <49 (|pfNoPosition?| NIL) + 49> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 50> (|ncAlist| (ERROR . NOMORE)) + <50 (|ncAlist| NIL) + 50> (|ncAlist| (ERROR . NOMORE)) + <50 (|ncAlist| NIL) + 50> (|ncTag| (ERROR . NOMORE)) + <50 (|ncTag| ERROR) + <49 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <48 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 48> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <48 (|tokPart| NOMORE) + <47 (|npFirstTok| NOMORE) + <46 (|npRestore| T) + <45 (|npDDInfKey| NIL) + <44 (|npInfGeneric| NIL) + <43 (|npLeftAssoc| T) + <42 (|npRelation| T) + 42> (|npInfGeneric| (ARROW LARROW)) + 43> (|npDDInfKey| (ARROW LARROW)) + 44> (|npInfKey| (ARROW LARROW)) + <44 (|npInfKey| NIL) + 44> (|npState|) + <44 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 44> (|npEqKey| |'|) + <44 (|npEqKey| NIL) + 44> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 45> (|npFirstTok|) + 46> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 47> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <47 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <46 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 46> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 47> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 48> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <48 (|poNoPosition?| NIL) + <47 (|pfNoPosition?| NIL) + 47> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 48> (|ncAlist| (ERROR . NOMORE)) + <48 (|ncAlist| NIL) + 48> (|ncAlist| (ERROR . NOMORE)) + <48 (|ncAlist| NIL) + 48> (|ncTag| (ERROR . NOMORE)) + <48 (|ncTag| ERROR) + <47 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <46 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 46> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <46 (|tokPart| NOMORE) + <45 (|npFirstTok| NOMORE) + <44 (|npRestore| T) + 44> (|npEqKey| BACKQUOTE) + <44 (|npEqKey| NIL) + 44> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 45> (|npFirstTok|) + 46> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 47> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <47 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <46 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 46> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 47> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 48> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <48 (|poNoPosition?| NIL) + <47 (|pfNoPosition?| NIL) + 47> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 48> (|ncAlist| (ERROR . NOMORE)) + <48 (|ncAlist| NIL) + 48> (|ncAlist| (ERROR . NOMORE)) + <48 (|ncAlist| NIL) + 48> (|ncTag| (ERROR . NOMORE)) + <48 (|ncTag| ERROR) + <47 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <46 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 46> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <46 (|tokPart| NOMORE) + <45 (|npFirstTok| NOMORE) + <44 (|npRestore| T) + <43 (|npDDInfKey| NIL) + <42 (|npInfGeneric| NIL) + <41 (|npRightAssoc| T) + <40 (|npQuiver| T) + 40> (|npInfGeneric| (CASE HAS)) + 41> (|npDDInfKey| (CASE HAS)) + 42> (|npInfKey| (CASE HAS)) + <42 (|npInfKey| NIL) + 42> (|npState|) + <42 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 42> (|npEqKey| |'|) + <42 (|npEqKey| NIL) + 42> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 43> (|npFirstTok|) + 44> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 45> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <45 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <44 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 44> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 45> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 46> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <46 (|poNoPosition?| NIL) + <45 (|pfNoPosition?| NIL) + 45> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 46> (|ncAlist| (ERROR . NOMORE)) + <46 (|ncAlist| NIL) + 46> (|ncAlist| (ERROR . NOMORE)) + <46 (|ncAlist| NIL) + 46> (|ncTag| (ERROR . NOMORE)) + <46 (|ncTag| ERROR) + <45 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <44 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 44> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <44 (|tokPart| NOMORE) + <43 (|npFirstTok| NOMORE) + <42 (|npRestore| T) + 42> (|npEqKey| BACKQUOTE) + <42 (|npEqKey| NIL) + 42> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 43> (|npFirstTok|) + 44> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 45> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <45 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <44 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 44> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 45> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 46> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <46 (|poNoPosition?| NIL) + <45 (|pfNoPosition?| NIL) + 45> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 46> (|ncAlist| (ERROR . NOMORE)) + <46 (|ncAlist| NIL) + 46> (|ncAlist| (ERROR . NOMORE)) + <46 (|ncAlist| NIL) + 46> (|ncTag| (ERROR . NOMORE)) + <46 (|ncTag| ERROR) + <45 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <44 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 44> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <44 (|tokPart| NOMORE) + <43 (|npFirstTok| NOMORE) + <42 (|npRestore| T) + <41 (|npDDInfKey| NIL) + <40 (|npInfGeneric| NIL) + <39 (|npLeftAssoc| T) + <38 (|npDiscrim| T) + 38> (|npInfGeneric| (AND)) + 39> (|npDDInfKey| (AND)) + 40> (|npInfKey| (AND)) + <40 (|npInfKey| NIL) + 40> (|npState|) + <40 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 40> (|npEqKey| |'|) + <40 (|npEqKey| NIL) + 40> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 41> (|npFirstTok|) + 42> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 43> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <43 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <42 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 42> (|tokConstruct| ERROR NOMORE ((0 "1" 1 1 "strings") . 0)) + 43> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 44> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <44 (|poNoPosition?| NIL) + <43 (|pfNoPosition?| NIL) + 43> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 44> (|ncAlist| (ERROR . NOMORE)) + <44 (|ncAlist| NIL) + 44> (|ncAlist| (ERROR . NOMORE)) + <44 (|ncAlist| NIL) + 44> (|ncTag| (ERROR . NOMORE)) + <44 (|ncTag| ERROR) + <43 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <42 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 42> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <42 (|tokPart| NOMORE) + <41 (|npFirstTok| NOMORE) + <40 (|npRestore| T) + 40> (|npEqKey| BACKQUOTE) + <40 (|npEqKey| NIL) + 40> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 41> (|npFirstTok|) + 42> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 43> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <43 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <42 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 42> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 43> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 44> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <44 (|poNoPosition?| NIL) + <43 (|pfNoPosition?| NIL) + 43> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 44> (|ncAlist| (ERROR . NOMORE)) + <44 (|ncAlist| NIL) + 44> (|ncAlist| (ERROR . NOMORE)) + <44 (|ncAlist| NIL) + 44> (|ncTag| (ERROR . NOMORE)) + <44 (|ncTag| ERROR) + <43 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <42 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 42> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <42 (|tokPart| NOMORE) + <41 (|npFirstTok| NOMORE) + <40 (|npRestore| T) + <39 (|npDDInfKey| NIL) + <38 (|npInfGeneric| NIL) + <37 (|npLeftAssoc| T) + <36 (|npDisjand| T) + 36> (|npInfGeneric| (OR)) + 37> (|npDDInfKey| (OR)) + 38> (|npInfKey| (OR)) + <38 (|npInfKey| NIL) + 38> (|npState|) + <38 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 38> (|npEqKey| |'|) + <38 (|npEqKey| NIL) + 38> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 39> (|npFirstTok|) + 40> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 41> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <41 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <40 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 40> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 41> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 42> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <42 (|poNoPosition?| NIL) + <41 (|pfNoPosition?| NIL) + 41> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 42> (|ncAlist| (ERROR . NOMORE)) + <42 (|ncAlist| NIL) + 42> (|ncAlist| (ERROR . NOMORE)) + <42 (|ncAlist| NIL) + 42> (|ncTag| (ERROR . NOMORE)) + <42 (|ncTag| ERROR) + <41 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <40 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 40> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <40 (|tokPart| NOMORE) + <39 (|npFirstTok| NOMORE) + <38 (|npRestore| T) + 38> (|npEqKey| BACKQUOTE) + <38 (|npEqKey| NIL) + 38> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 39> (|npFirstTok|) + 40> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 41> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <41 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <40 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 40> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 41> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 42> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <42 (|poNoPosition?| NIL) + <41 (|pfNoPosition?| NIL) + 41> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 42> (|ncAlist| (ERROR . NOMORE)) + <42 (|ncAlist| NIL) + 42> (|ncAlist| (ERROR . NOMORE)) + <42 (|ncAlist| NIL) + 42> (|ncTag| (ERROR . NOMORE)) + <42 (|ncTag| ERROR) + <41 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <40 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 40> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <40 (|tokPart| NOMORE) + <39 (|npFirstTok| NOMORE) + <38 (|npRestore| T) + <37 (|npDDInfKey| NIL) + <36 (|npInfGeneric| NIL) + <35 (|npLeftAssoc| T) + <34 (|npLogical| T) + 34> (|npInfGeneric| (BAR)) + 35> (|npDDInfKey| (BAR)) + 36> (|npInfKey| (BAR)) + <36 (|npInfKey| NIL) + 36> (|npState|) + <36 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 36> (|npEqKey| |'|) + <36 (|npEqKey| NIL) + 36> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 37> (|npFirstTok|) + 38> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 39> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <39 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <38 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 38> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 39> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 40> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <40 (|poNoPosition?| NIL) + <39 (|pfNoPosition?| NIL) + 39> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 40> (|ncAlist| (ERROR . NOMORE)) + <40 (|ncAlist| NIL) + 40> (|ncAlist| (ERROR . NOMORE)) + <40 (|ncAlist| NIL) + 40> (|ncTag| (ERROR . NOMORE)) + <40 (|ncTag| ERROR) + <39 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <38 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 38> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <38 (|tokPart| NOMORE) + <37 (|npFirstTok| NOMORE) + <36 (|npRestore| T) + 36> (|npEqKey| BACKQUOTE) + <36 (|npEqKey| NIL) + 36> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 37> (|npFirstTok|) + 38> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 39> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <39 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <38 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 38> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 39> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 40> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <40 (|poNoPosition?| NIL) + <39 (|pfNoPosition?| NIL) + 39> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 40> (|ncAlist| (ERROR . NOMORE)) + <40 (|ncAlist| NIL) + 40> (|ncAlist| (ERROR . NOMORE)) + <40 (|ncAlist| NIL) + 40> (|ncTag| (ERROR . NOMORE)) + <40 (|ncTag| ERROR) + <39 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <38 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 38> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <38 (|tokPart| NOMORE) + <37 (|npFirstTok| NOMORE) + <36 (|npRestore| T) + <35 (|npDDInfKey| NIL) + <34 (|npInfGeneric| NIL) + <33 (|npLeftAssoc| T) + <32 (|npSuch| T) + 32> (|npInfGeneric| (IS ISNT)) + 33> (|npDDInfKey| (IS ISNT)) + 34> (|npInfKey| (IS ISNT)) + <34 (|npInfKey| NIL) + 34> (|npState|) + <34 (|npState| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 34> (|npEqKey| |'|) + <34 (|npEqKey| NIL) + 34> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 35> (|npFirstTok|) + 36> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 37> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <37 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <36 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 36> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 37> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 38> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <38 (|poNoPosition?| NIL) + <37 (|pfNoPosition?| NIL) + 37> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 38> (|ncAlist| (ERROR . NOMORE)) + <38 (|ncAlist| NIL) + 38> (|ncAlist| (ERROR . NOMORE)) + <38 (|ncAlist| NIL) + 38> (|ncTag| (ERROR . NOMORE)) + <38 (|ncTag| ERROR) + <37 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <36 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 36> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <36 (|tokPart| NOMORE) + <35 (|npFirstTok| NOMORE) + <34 (|npRestore| T) + 34> (|npEqKey| BACKQUOTE) + <34 (|npEqKey| NIL) + 34> (|npRestore| + (NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 35> (|npFirstTok|) + 36> (|tokPosn| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 37> (|ncAlist| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <37 (|ncAlist| ((|posn| (0 "1" 1 1 "strings") . 0))) + <36 (|tokPosn| ((0 "1" 1 1 "strings") . 0)) + 36> (|tokConstruct| ERROR NOMORE + ((0 "1" 1 1 "strings") . 0)) + 37> (|pfNoPosition?| ((0 "1" 1 1 "strings") . 0)) + 38> (|poNoPosition?| ((0 "1" 1 1 "strings") . 0)) + <38 (|poNoPosition?| NIL) + <37 (|pfNoPosition?| NIL) + 37> (|ncPutQ| (ERROR . NOMORE) |posn| + ((0 "1" 1 1 "strings") . 0)) + 38> (|ncAlist| (ERROR . NOMORE)) + <38 (|ncAlist| NIL) + 38> (|ncAlist| (ERROR . NOMORE)) + <38 (|ncAlist| NIL) + 38> (|ncTag| (ERROR . NOMORE)) + <38 (|ncTag| ERROR) + <37 (|ncPutQ| ((0 "1" 1 1 "strings") . 0)) + <36 (|tokConstruct| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + 36> (|tokPart| + ((ERROR (|posn| (0 "1" 1 1 "strings") . 0)) . NOMORE)) + <36 (|tokPart| NOMORE) + <35 (|npFirstTok| NOMORE) + <34 (|npRestore| T) + <33 (|npDDInfKey| NIL) + <32 (|npInfGeneric| NIL) + <31 (|npLeftAssoc| T) + <30 (|npMatch| T) + 30> (|npPop1|) + <30 (|npPop1| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 30> (|npWith| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 31> (|npEqKey| WITH) + <31 (|npEqKey| NIL) + <30 (|npWith| NIL) + 30> (|npPush| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <30 (|npPush| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + <29 (|npType| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 29> (|npPop1|) + <29 (|npPop1| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 29> (|npAdd| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 30> (|npEqKey| ADD) + <30 (|npEqKey| NIL) + <29 (|npAdd| NIL) + 29> (|npPush| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <29 (|npPush| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + <28 (|npADD| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + <27 (|npExpress1| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + 27> (|npIterators|) + 28> (|npForIn|) + 29> (|npEqKey| FOR) + <29 (|npEqKey| NIL) + <28 (|npForIn| NIL) + 28> (|npWhile|) + 29> (|npAndOr| WHILE |npLogical| |pfWhile|) + 30> (|npEqKey| WHILE) + <30 (|npEqKey| NIL) + <29 (|npAndOr| NIL) + <28 (|npWhile| NIL) + <27 (|npIterators| NIL) + <26 (|npExpress| T) + <25 (|npStatement| T) + 25> (|npEqPeek| MDEF) + <25 (|npEqPeek| NIL) + <24 (|npBackTrack| T) + <23 (|npMDEF| T) + 23> (|npEqPeek| BECOMES) + <23 (|npEqPeek| NIL) + <22 (|npBackTrack| T) + <21 (|npAssign| T) + 21> (|npEqPeek| EXIT) + <21 (|npEqPeek| NIL) + <20 (|npBackTrack| T) + <19 (|npExit| T) + 19> (|npEqPeek| GIVES) + <19 (|npEqPeek| NIL) + <18 (|npBackTrack| T) + <17 (|npGives| T) + 17> (|npEqPeek| DEF) + <17 (|npEqPeek| NIL) + <16 (|npBackTrack| T) + <15 (|npDefinitionOrStatement| T) + 15> (|npEqKey| WHERE) + <15 (|npEqKey| NIL) + <14 (|npQualified| T) + <13 (|npQualifiedDefinition| T) + 13> (|npCommaBackSet|) + 14> (|npEqKey| COMMA) + <14 (|npEqKey| NIL) + <13 (|npCommaBackSet| NIL) + <12 (|npListofFun| T) + <11 (|npTuple| T) + <10 (|npComma| T) + 10> (|npPop1|) + <10 (|npPop1| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 10> (|npPush| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1"))) + <10 (|npPush| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + <9 (|npQualDef| + ((((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")))) + 9> (|npEqKey| SEMICOLON) + <9 (|npEqKey| NIL) + 9> (|npPop1|) + <9 (|npPop1| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + 9> (|pfEnSequence| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + <9 (|pfEnSequence| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 9> (|npPush| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <9 (|npPush| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + <8 (|npItem| + (((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1"))) + <7 (|npParse| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <6 (|ncloopParse| + ((((((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1"))) + |nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| (|nullstream|)))) +\end{verbatim} + +\begin{verbatim} + 6> (|next| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| (|nullstream|)))) + 7> (|Delay| #0=|next1| + (|ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) + <7 (|Delay| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) + <6 (|next| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) +\end{verbatim} + +\begin{verbatim} + 6> (|incAppend| + (((((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1"))) + (|nonnullstream| #1=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #1# |lineoftoks| (|nullstream|))))) + 7> (|Delay| #0=|incAppend1| + ((((((#2=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #2# . 0)) . "1"))) + (|nonnullstream| #3=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #3# |lineoftoks| (|nullstream|)))))) + <7 (|Delay| + (|nonnullstream| #0=|incAppend1| + (((((#2=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #2# . 0)) . "1"))) + (|nonnullstream| #3=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #3# |lineoftoks| (|nullstream|)))))) + <6 (|incAppend| + (|nonnullstream| #0=|incAppend1| + (((((#2=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #2# . 0)) . "1"))) + (|nonnullstream| #3=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #3# |lineoftoks| (|nullstream|)))))) + <5 (|next1| + (|nonnullstream| #0=|incAppend1| + (((((#2=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #2# . 0)) . "1"))) + (|nonnullstream| #3=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #3# |lineoftoks| (|nullstream|)))))) +\end{verbatim} + +\begin{verbatim} + 5> (|incAppend1| + (((((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1"))) + (|nonnullstream| #1=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #1# |lineoftoks| (|nullstream|))))) + 6> (|StreamNull| + (((((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1")))) + <6 (|StreamNull| NIL) + 6> (|incAppend| NIL + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) + 7> (|Delay| #0=|incAppend1| + (NIL + (|nonnullstream| #2=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #2# |lineoftoks| (|nullstream|)))))) + <7 (|Delay| + (|nonnullstream| #0=|incAppend1| NIL + (|nonnullstream| #2=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #2# |lineoftoks| (|nullstream|)))))) + <6 (|incAppend| + (|nonnullstream| #0=|incAppend1| NIL + (|nonnullstream| #2=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #2# |lineoftoks| (|nullstream|)))))) + <5 (|incAppend1| + (((((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1")) + |nonnullstream| #1=|incAppend1| NIL + (|nonnullstream| #3=|next1| |ncloopParse| + (|nonnullstream| #1# NIL + (|nonnullstream| #3# |lineoftoks| (|nullstream|)))))) + <4 (|StreamNull| NIL) +\end{verbatim} + +\begin{verbatim} + 4> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1") |command|) + <4 (|pfAbSynOp?| NIL) +\end{verbatim} + +\begin{verbatim} + 4> (|intloopSpadProcess| 1 + (((#0=(0 "1" 1 1 "strings") . 1) . "1")) + ((|integer| (|posn| #0# . 0)) . "1") T) + 5> (|ncPutQ| (|carrier|) |stepNumber| 1) + 6> (|ncAlist| (|carrier|)) + <6 (|ncAlist| NIL) + 6> (|ncAlist| (|carrier|)) + <6 (|ncAlist| NIL) + 6> (|ncTag| (|carrier|)) + <6 (|ncTag| |carrier|) + <5 (|ncPutQ| 1) + 5> (|ncPutQ| ((|carrier| (|stepNumber| . 1))) |messages| NIL) + 6> (|ncAlist| ((|carrier| (|stepNumber| . 1)))) + <6 (|ncAlist| ((|stepNumber| . 1))) + 6> (|ncAlist| ((|carrier| (|stepNumber| . 1)))) + <6 (|ncAlist| ((|stepNumber| . 1))) + 6> (|ncTag| ((|carrier| (|stepNumber| . 1)))) + <6 (|ncTag| |carrier|) + <5 (|ncPutQ| NIL) + 5> (|ncPutQ| + ((|carrier| (|messages|) (|stepNumber| . 1))) + |lines| ((((0 "1" 1 1 "strings") . 1) . "1"))) + 6> (|ncAlist| ((|carrier| (|messages|) (|stepNumber| . 1)))) + <6 (|ncAlist| ((|messages|) (|stepNumber| . 1))) + 6> (|ncAlist| ((|carrier| (|messages|) (|stepNumber| . 1)))) + <6 (|ncAlist| ((|messages|) (|stepNumber| . 1))) + 6> (|ncTag| ((|carrier| (|messages|) (|stepNumber| . 1)))) + <6 (|ncTag| |carrier|) + <5 (|ncPutQ| ((((0 "1" 1 1 "strings") . 1) . "1"))) + 5> (|intloopSpadProcess,interp| + ((|carrier| (|lines| ((#0=(0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1))) + ((|integer| (|posn| #0# . 0)) . "1") T) + 6> (|ncConversationPhase| |phParse| + (((|carrier| (|lines| ((#0=(0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1))) + ((|integer| (|posn| #0# . 0)) . "1"))) + 7> (|phParse| + ((|carrier| (|lines| ((#0=(0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1))) + ((|integer| (|posn| #0# . 0)) . "1")) + 8> (|ncPutQ| + ((|carrier| (|lines| ((#0=(0 "1" 1 1 "strings") . 1) . "1") + ) (|messages|) (|stepNumber| . 1))) + |ptree| ((|integer| (|posn| #0# . 0)) . "1")) + 9> (|ncAlist| + ((|carrier| (|lines| (((0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|lines| (((0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1))) + 9> (|ncAlist| + ((|carrier| (|lines| (((0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|lines| (((0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1))) + 9> (|ncTag| + ((|carrier| (|lines| (((0 "1" 1 1 "strings") . 1) . "1")) + (|messages|) (|stepNumber| . 1)))) + <9 (|ncTag| |carrier|) + <8 (|ncPutQ| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <7 (|phParse| OK) + 7> (|ncConversationPhase,wrapup| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <7 (|ncConversationPhase,wrapup| NIL) + <6 (|ncConversationPhase| OK) + 6> (|ncConversationPhase| |phMacro| + (((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))))) + 7> (|phMacro| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + 8> (|ncEltQ| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) |ptree|) + 9> (|ncAlist| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <8 (|ncEltQ| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 8> (|ncPutQ| + ((|carrier| + (|ptree| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + |ptreePremacro| #0#) + 9> (|ncAlist| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncAlist| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncTag| + ((|carrier| + (|ptree| + (|integer| (|posn| #0=(0 "1" 1 1 "strings") . 0)) + . "1") + (|lines| ((#0# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncTag| |carrier|) + <8 (|ncPutQ| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 8> (|macroExpanded| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 9> (|macExpand| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 10> (|pfWhere?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |Where|) + <11 (|pfAbSynOp?| NIL) + <10 (|pfWhere?| NIL) + 10> (|pfLambda?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |Lambda|) + <11 (|pfAbSynOp?| NIL) + <10 (|pfLambda?| NIL) + 10> (|pfMacro?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |Macro|) + <11 (|pfAbSynOp?| NIL) + <10 (|pfMacro?| NIL) + 10> (|pfId?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |id|) + <11 (|pfAbSynOp?| NIL) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |idsy|) + <11 (|pfAbSynOp?| NIL) + <10 (|pfId?| NIL) + 10> (|pfApplication?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |Application|) + <11 (|pfAbSynOp?| NIL) + <10 (|pfApplication?| NIL) + 10> (|pfMapParts| |macExpand| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfLeaf?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 12> (|pfAbSynOp| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <12 (|pfAbSynOp| |integer|) + <11 (|pfLeaf?| (|integer| |Document| |error|)) + <10 (|pfMapParts| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <9 (|macExpand| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <8 (|macroExpanded| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 8> (|ncPutQ| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) |ptree| #0#) + 9> (|ncAlist| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <8 (|ncPutQ| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + <7 (|phMacro| OK) + 7> (|ncConversationPhase,wrapup| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <7 (|ncConversationPhase,wrapup| NIL) + <6 (|ncConversationPhase| OK) + 6> (|ncConversationPhase| |phIntReportMsgs| + (((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) T)) + 7> (|phIntReportMsgs| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) T) + 8> (|ncEltQ| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) |lines|) + 9> (|ncAlist| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <8 (|ncEltQ| ((((0 "1" 1 1 "strings") . 1) . "1"))) + 8> (|ncEltQ| + ((|carrier| (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) . + "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + |messages|) + 9> (|ncAlist| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <8 (|ncEltQ| NIL) + 8> (|ncPutQ| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) |ok?| T) + 9> (|ncAlist| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncAlist| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncTag| + ((|carrier| + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncTag| |carrier|) + <8 (|ncPutQ| T) + <7 (|phIntReportMsgs| OK) + 7> (|ncConversationPhase,wrapup| + ((|carrier| + (|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <7 (|ncConversationPhase,wrapup| NIL) + <6 (|ncConversationPhase| OK) + 6> (|ncConversationPhase| |phInterpret| + (((|carrier| + (|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))))) + 7> (|phInterpret| + ((|carrier| + (|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + 8> (|ncEltQ| + ((|carrier| + (|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + |ptree|) + 9> (|ncAlist| + ((|carrier| + (|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ok?| . T) + (|ptreePremacro| . + #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <8 (|ncEltQ| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 8> (|intInterpretPform| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 9> (|pf2Sex| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 10> (|pf2Sex1| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 11> (|pfNothing?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 12> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |nothing|) + <12 (|pfAbSynOp?| NIL) + <11 (|pfNothing?| NIL) + 11> (|pfSymbol?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 12> (|pfAbSynOp?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1") |symbol|) + <12 (|pfAbSynOp?| NIL) + <11 (|pfSymbol?| NIL) + 11> (|pfLiteral?| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 12> (|pfAbSynOp| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <12 (|pfAbSynOp| |integer|) + <11 (|pfLiteral?| + (|integer| |symbol| |expression| |one| |zero| + |char| |string| |float|)) + 11> (|pfLiteral2Sex| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 12> (|pfLiteralClass| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 13> (|pfAbSynOp| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <13 (|pfAbSynOp| |integer|) + <12 (|pfLiteralClass| |integer|) + 12> (|pfLiteralString| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + 13> (|tokPart| + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <13 (|tokPart| "1") + <12 (|pfLiteralString| "1") + <11 (|pfLiteral2Sex| 1) + <10 (|pf2Sex1| 1) + <9 (|pf2Sex| 1) + 9> (|zeroOneTran| 1) + <9 (|zeroOneTran| 1) + 9> (|processInteractive| 1 + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 10> (PUT |algebra| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |algebra| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |analysis| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |analysis| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |coercion| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |coercion| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |compilation| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |compilation| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |debug| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |debug| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |evaluation| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |evaluation| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |gc| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |gc| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |history| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |history| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |instantiation| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |instantiation| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |load| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |load| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |modemaps| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |modemaps| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |optimization| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |optimization| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |querycoerce| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |querycoerce| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |other| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |other| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |diskread| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |diskread| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |print| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |print| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |resolve| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |resolve| |SpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |interpreter| |ClassTimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |interpreter| |ClassSpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |evaluation| |ClassTimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |evaluation| |ClassSpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |other| |ClassTimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |other| |ClassSpaceTotal| 0) + <10 (PUT 0) + 10> (PUT |reclaim| |ClassTimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |reclaim| |ClassSpaceTotal| 0) + <10 (PUT 0) + 10> (GETL |gc| |TimeTotal|) + <10 (GETL 0.0) + 10> (PUT |gc| |TimeTotal| 0.050000000000000003) + <10 (PUT 0.050000000000000003) + 10> (PUT |gc| |TimeTotal| 0.0) + <10 (PUT 0.0) + 10> (PUT |gc| |SpaceTotal| 0) + <10 (PUT 0) + 10> (|processInteractive1| 1 + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 11> (|recordFrame| |system|) + 12> (|diffAlist| NIL NIL) + <12 (|diffAlist| NIL) + <11 (|recordFrame| NIL) + 11> (GETL |other| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |other| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (|interpretTopLevel| 1 + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 12> (|interpret| 1 + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 13> (|interpret1| 1 NIL + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) . "1")) + 14> (|member| 1 (|noBranch| |noMapVal|)) + <14 (|member| NIL) + 14> (|member| 1 (|nil| |true| |false|)) + <14 (|member| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|isDomainValuedVariable| |--immediateData--|) + <14 (|isDomainValuedVariable| NIL) + 14> (GETDATABASE |--immediateData--| CONSTRUCTOR) + <14 (GETDATABASE NIL) + 14> (GETDATABASE |--immediateData--| ABBREVIATION) + <14 (GETDATABASE NIL) + 14> (|member| |--immediateData--| + (|Record| |Union| |Enumeration|)) + <14 (|member| NIL) + 14> (|getProplist| |--immediateData--| ((NIL))) + 15> (|search| |--immediateData--| ((NIL))) + 16> (|searchCurrentEnv| |--immediateData--| (NIL)) + <16 (|searchCurrentEnv| NIL) + 16> (|searchTailEnv| |--immediateData--| NIL) + <16 (|searchTailEnv| NIL) + <15 (|search| NIL) + 15> (|search| |--immediateData--| + ((((|Category| + (|modemap| (((|Category|) (|Category|)) (T *)))) + (|Join| + (|modemap| + (((|Category|) + (|Category|) + (|Category|) + (|Category|)) + (T *)) + (((|Category|) + (|Category|) + (|List| (|Category|)) + (|Category|)) + (T *)))))))) + 16> (|searchCurrentEnv| |--immediateData--| + (((|Category| + (|modemap| (((|Category|) (|Category|)) (T *)))) + (|Join| + (|modemap| + (((|Category|) + (|Category|) + (|Category|) + (|Category|)) + (T *)) + (((|Category|) + (|Category|) + (|List| (|Category|)) + (|Category|)) + (T *))))))) + <16 (|searchCurrentEnv| NIL) + 16> (|searchTailEnv| |--immediateData--| NIL) + <16 (|searchTailEnv| NIL) + <15 (|search| NIL) + <14 (|getProplist| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|member| |--immediateData--| NIL) + <14 (|member| NIL) + 14> (|interpret2| + (#0=(|PositiveInteger|) . 1) #0# + ((|integer| (|posn| (0 "1" 1 1 "strings") . 0)) + . "1")) + <14 (|interpret2| ((|PositiveInteger|) . 1)) + <13 (|interpret1| ((|PositiveInteger|) . 1)) + <12 (|interpret| ((|PositiveInteger|) . 1)) + <11 (|interpretTopLevel| ((|PositiveInteger|) . 1)) + 11> (GETL |analysis| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |analysis| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (GETL |other| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |other| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (|recordAndPrint| 1 (|PositiveInteger|)) + + 12> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (|member| (|PositiveInteger|) + ((|Mode|) (|Domain|) (|SubDomain| (|Domain|)))) + <12 (|member| NIL) + 12> (|member| (|PositiveInteger|) + ((|Category|) (|Mode|) (|Domain|) + (|SubDomain| (|Domain|)))) + <12 (|member| NIL) + 12> (GETL |print| |TimeTotal|) + <12 (GETL 0.0) + 12> (GETL |gc| |TimeTotal|) + <12 (GETL 0.0) + 12> (PUT |gc| |TimeTotal| 0.0) + <12 (PUT 0.0) + 12> (PUT |print| |TimeTotal| 0.0) + <12 (PUT 0.0) + 12> (|isEqualOrSubDomain| (|PositiveInteger|) + (|OutputForm|)) + <12 (|isEqualOrSubDomain| NIL) + 12> (GETDATABASE |OutputForm| ABBREVIATION) + <12 (GETDATABASE OUTFORM) + 12> (HPUT # + (|OutputForm|) (1)) + <12 (HPUT (1)) + 12> (HPUT # + (NIL NIL NIL) (1 . T)) + <12 (HPUT (1 . T)) + 12> (HPUT # + (#0=(|OutputForm|) NIL NIL) (1 . #0#)) + <12 (HPUT (1 |OutputForm|)) + 12> (HPUT # + (|PositiveInteger|) (1)) + <12 (HPUT (1)) + 12> (|member| (|OutputForm|) ((|Integer|) (|OutputForm|))) + <12 (|member| ((|OutputForm|))) + 12> (|member| (|OutputForm|) + ((|Mode|) (|Domain|) (|SubDomain| (|Domain|)))) + <12 (|member| NIL) + 12> (GETDATABASE |OutputForm| ABBREVIATION) + <12 (GETDATABASE OUTFORM) + 12> (GETDATABASE |OutputForm| COSIG) + <12 (GETDATABASE (NIL)) + 12> (HPUT # + (|OutputForm|) (1 . T)) + <12 (HPUT (1 . T)) + 12> (|isPartialMode| (|OutputForm|)) + <12 (|isPartialMode| NIL) + 12> (|member| |coerce| (= + * -)) + <12 (|member| NIL) + 12> (|isPartialMode| (|OutputForm|)) + <12 (|isPartialMode| NIL) + 12> (|member| |PositiveInteger| + (|List| |Vector| |Stream| |FiniteSet| |Array|)) + <12 (|member| NIL) + 12> (|member| |PositiveInteger| + (|Union| |Record| |Mapping| |Enumeration|)) + <12 (|member| NIL) + 12> (GETDATABASE |PositiveInteger| OPERATIONALIST) + <12 (GETDATABASE + ((~= (((|Boolean|) $ $) NIL)) + (|sample| (($) NIL T CONST)) + (|recip| (((|Union| $ "failed") $) NIL)) + (|one?| (((|Boolean|) $) NIL)) + (|min| (($ $ $) NIL)) + (|max| (($ $ $) NIL)) + (|latex| (((|String|) $) NIL)) + (|hash| (((|SingleInteger|) $) NIL)) + (|gcd| (($ $ $) NIL)) + (|coerce| (((|OutputForm|) $) NIL)) + (^ (($ $ (|NonNegativeInteger|)) NIL) + (($ $ (|PositiveInteger|)) NIL)) + (|One| (($) NIL T CONST)) + (>= (((|Boolean|) $ $) NIL)) + (> (((|Boolean|) $ $) NIL)) + (= (((|Boolean|) $ $) NIL)) + (<= (((|Boolean|) $ $) NIL)) + (< (((|Boolean|) $ $) NIL)) + (+ (($ $ $) NIL)) + (** (($ $ (|NonNegativeInteger|)) NIL) + (($ $ (|PositiveInteger|)) NIL)) + (* (($ (|PositiveInteger|) $) NIL) (($ $ $) NIL)))) + 12> (|constructSubst| (|PositiveInteger|)) + <12 (|constructSubst| (($ |PositiveInteger|))) + 12> (|isEqualOrSubDomain| #0=(|PositiveInteger|) #0#) + <12 (|isEqualOrSubDomain| T) + 12> (|isEqualOrSubDomain| (|OutputForm|) (|OutputForm|)) + <12 (|isEqualOrSubDomain| T) + 12> (|member| |OutputForm| (|Union| |Record| |Mapping| |Enumeration|)) + <12 (|member| NIL) + 12> (GETDATABASE |OutputForm| OPERATIONALIST) + <12 (GETDATABASE + ((~= (((|Boolean|) $ $) NIL)) + (|zag| (($ $ $) 120)) + (|width| (((|Integer|) $) 30) (((|Integer|)) 35)) + (|vspace| (($ (|Integer|)) 47)) + (|vconcat| (($ $ $) 48) (($ (|List| $)) 80)) + (|supersub| (($ $ (|List| $)) 78)) + (|superHeight| (((|Integer|) $) 33)) + (|super| (($ $ $) 66)) + (|sum| (($ $) 135) (($ $ $) 136) (($ $ $ $) 137)) + (|subHeight| (((|Integer|) $) 32)) + (|sub| (($ $ $) 65)) + (|string| (($ $) 109)) + (|slash| (($ $ $) 124)) + (|semicolonSeparate| (($ (|List| $)) 55)) + (|scripts| (($ $ (|List| $)) 72)) + (|rspace| (($ (|Integer|) (|Integer|)) 49)) + (|root| (($ $) 121) (($ $ $) 122)) + (|right| (($ $ (|Integer|)) 42) (($ $) 45)) + (|rem| (($ $ $) 93)) + (|rarrow| (($ $ $) 127)) + (|quote| (($ $) 110)) + (|quo| (($ $ $) 94)) + (|prod| (($ $) 138) (($ $ $) 139) (($ $ $ $) 140)) + (|print| (((|Void|) $) 8)) + (|prime| (($ $) 113) (($ $ (|NonNegativeInteger|)) 117)) + (|presuper| (($ $ $) 68)) + (|presub| (($ $ $) 67)) + (|prefix| (($ $ (|List| $)) 104)) + (|postfix| (($ $ $) 108)) + (|pile| (($ (|List| $)) 53)) + (|paren| (($ $) 63) (($ (|List| $)) 64)) + (|overlabel| (($ $ $) 118)) + (|overbar| (($ $) 111)) + (|over| (($ $ $) 123)) + (|outputForm| (($ (|Integer|)) 20) + (($ (|Symbol|)) 22) + (($ (|String|)) 29) + (($ (|DoubleFloat|)) 24)) + (|or| (($ $ $) 97)) + (|not| (($ $) 98)) + (|messagePrint| (((|Void|) (|String|)) 14)) + (|message| (($ (|String|)) 13)) + (|matrix| (($ (|List| (|List| $))) 51)) + (|left| (($ $ (|Integer|)) 41) (($ $) 44)) + (|latex| (((|String|) $) NIL)) + (|label| (($ $ $) 126)) + (|int| (($ $) 141) (($ $ $) 142) (($ $ $ $) 143)) + (|infix?| (((|Boolean|) $) 102)) + (|infix| (($ $ (|List| $)) 106) (($ $ $ $) 107)) + (|hspace| (($ (|Integer|)) 38)) + (|height| (((|Integer|) $) 31) (((|Integer|)) 34)) + (|hconcat| (($ $ $) 39) (($ (|List| $)) 79)) + (|hash| (((|SingleInteger|) $) NIL)) + (|exquo| (($ $ $) 95)) + (|empty| (($) 12)) + (|elt| (($ $ (|List| $)) 103)) + (|dot| (($ $) 112) + (($ $ (|NonNegativeInteger|)) 116)) + (|div| (($ $ $) 92)) + (|differentiate| (($ $ (|NonNegativeInteger|)) 134)) + (|commaSeparate| (($ (|List| $)) 54)) + (|coerce| (((|OutputForm|) $) 18)) + (|center| (($ $ (|Integer|)) 40) (($ $) 43)) + (|bracket| (($ $) 61) (($ (|List| $)) 62)) + (|brace| (($ $) 59) (($ (|List| $)) 60)) + (|box| (($ $) 119)) + (|blankSeparate| (($ (|List| $)) 58)) + (|binomial| (($ $ $) 101)) + (|assign| (($ $ $) 125)) + (|and| (($ $ $) 96)) + (^= (($ $ $) 81)) + (SEGMENT (($ $ $) 99) (($ $) 100)) + (>= (($ $ $) 85)) + (> (($ $ $) 83)) + (= (((|Boolean|) $ $) 15) (($ $ $) 16)) + (<= (($ $ $) 84)) + (< (($ $ $) 82)) + (/ (($ $ $) 90)) + (- (($ $ $) 87) (($ $) 88)) + (+ (($ $ $) 86)) + (** (($ $ $) 91)) + (* (($ $ $) 89)))) + 12> (|constructSubst| (|OutputForm|)) + <12 (|constructSubst| (($ |OutputForm|))) + 12> (|isEqualOrSubDomain| + (|PositiveInteger|) (|OutputForm|)) + <12 (|isEqualOrSubDomain| NIL) + 12> (HPUT # + (|coerce| (|OutputForm|) (#0=(|PositiveInteger|)) + (#0#) NIL) (1 ((#0# #1=(|OutputForm|) #0#) + (#1# $) (NIL)))) + <12 (HPUT (1 ((#0=(|PositiveInteger|) + #1=(|OutputForm|) #0#) (#1# $) (NIL)))) + 12> (HPUT # + (|coerce| #0=(|PositiveInteger|) (|OutputForm|)) + (1 (#0# #1=(|OutputForm|) #0#) (#1# $) (NIL))) + <12 (HPUT (1 (#0=(|PositiveInteger|) + #1=(|OutputForm|) #0#) (#1# $) (NIL))) + 12> (|evalDomain| (|PositiveInteger|)) + 13> (GETL |print| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |print| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (|mkEvalable| (|PositiveInteger|)) + 14> (CANFUNCALL? |PositiveInteger|) + <14 (CANFUNCALL? T) + 14> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <14 (GETDATABASE |domain|) + 14> (GETDATABASE |PositiveInteger| COSIG) + <14 (GETDATABASE (NIL)) + <13 (|mkEvalable| (|PositiveInteger|)) + 13> (GETL |PositiveInteger| LOADED) + <13 (GETL NIL) + 13> (|loadLib| |PositiveInteger|) + 14> (GETL |instantiation| |TimeTotal|) + <14 (GETL 0.0) + 14> (GETL |gc| |TimeTotal|) + <14 (GETL 0.0) + 14> (PUT |gc| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (PUT |instantiation| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (GETDATABASE |PositiveInteger| OBJECT) + <14 (GETDATABASE + "/home/daly/noise/mnt/ubuntu/algebra/PI.o") + 14> (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/PI.o") + 15> (|pathname| + "/home/daly/noise/mnt/ubuntu/algebra/PI.o") + <15 (|pathname| + #p"/home/daly/noise/mnt/ubuntu/algebra/PI.o") + <14 (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + 14> (|isSystemDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + <14 (|isSystemDirectory| T) + 14> (|loadLibNoUpdate| |PositiveInteger| |PositiveInteger| + "/home/daly/noise/mnt/ubuntu/algebra/PI.o") + 15> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (|getProplist| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) + (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 16> (|search| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) + (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|searchCurrentEnv| |NonNegativeInteger| + (((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) + (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <17 (|searchCurrentEnv| NIL) + 17> (|searchTailEnv| |NonNegativeInteger| NIL) + <17 (|searchTailEnv| NIL) + <16 (|search| NIL) + 16> (|search| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) + (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|searchCurrentEnv| |NonNegativeInteger| + (((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <17 (|searchCurrentEnv| NIL) + 17> (|searchTailEnv| |NonNegativeInteger| NIL) + <17 (|searchTailEnv| NIL) + <16 (|search| NIL) + <15 (|getProplist| NIL) + 15> (|addBinding| |NonNegativeInteger| + ((|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 16> (|getProplist| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|search| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 18> (|searchCurrentEnv| |NonNegativeInteger| + (((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <18 (|searchCurrentEnv| NIL) + 18> (|searchTailEnv| |NonNegativeInteger| NIL) + <18 (|searchTailEnv| NIL) + <17 (|search| NIL) + 17> (|search| |NonNegativeInteger| + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 18> (|searchCurrentEnv| |NonNegativeInteger| + (((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <18 (|searchCurrentEnv| NIL) + 18> (|searchTailEnv| |NonNegativeInteger| NIL) + <18 (|searchTailEnv| NIL) + <17 (|search| NIL) + <16 (|getProplist| NIL) + 16> (|addBindingInteractive| |NonNegativeInteger| + ((|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + ((((|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + <16 (|addBindingInteractive| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + <15 (|addBinding| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 15> (|getProplist| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 16> (|search| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|searchCurrentEnv| |PositiveInteger| + (((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <17 (|searchCurrentEnv| NIL) + 17> (|searchTailEnv| |PositiveInteger| NIL) + <17 (|searchTailEnv| NIL) + <16 (|search| NIL) + 16> (|search| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|searchCurrentEnv| |PositiveInteger| + (((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <17 (|searchCurrentEnv| NIL) + 17> (|searchTailEnv| |PositiveInteger| NIL) + <17 (|searchTailEnv| NIL) + <16 (|search| NIL) + <15 (|getProplist| NIL) + 15> (|addBinding| |PositiveInteger| + ((|SuperDomain| |NonNegativeInteger|)) + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 16> (|getProplist| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 17> (|search| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 18> (|searchCurrentEnv| |PositiveInteger| + (((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <18 (|searchCurrentEnv| NIL) + 18> (|searchTailEnv| |PositiveInteger| NIL) + <18 (|searchTailEnv| NIL) + <17 (|search| NIL) + 17> (|search| |PositiveInteger| + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 18> (|searchCurrentEnv| |PositiveInteger| + (((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *))))))) + <18 (|searchCurrentEnv| NIL) + 18> (|searchTailEnv| |PositiveInteger| NIL) + <18 (|searchTailEnv| NIL) + <17 (|search| NIL) + <16 (|getProplist| NIL) + 16> (|addBindingInteractive| |PositiveInteger| + ((|SuperDomain| |NonNegativeInteger|)) + ((((|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + <16 (|addBindingInteractive| + ((((|PositiveInteger| + (|SuperDomain| |NonNegativeInteger|)) + (|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + <15 (|addBinding| + ((((|PositiveInteger| + (|SuperDomain| |NonNegativeInteger|)) + (|NonNegativeInteger| + (|SubDomain| + (|PositiveInteger| SPADCALL 0 |#1| (QREFELT $ 7)))) + (|Category| (|modemap| + (((|Category|) (|Category|)) (T *)))) + (|Join| (|modemap| + (((|Category|) (|Category|) (|Category|) + (|Category|)) (T *)) + (((|Category|) (|Category|) (|List| (|Category|)) + (|Category|)) (T *)))))))) + 15> (|makeByteWordVec2| 1 (0 0 0 0 0 0 0)) + <15 (|makeByteWordVec2| #) + 15> (|makeByteWordVec2| 12 (2 5 6 0 0 7 2 0 6 0 0 1 0 0 0 + 1 1 0 9 0 1 1 0 6 0 1 2 0 0 0 0 1 2 0 0 0 0 1 1 0 11 + 0 1 1 0 10 0 1 2 0 0 0 0 1 1 0 12 0 1 2 0 0 0 8 1 2 + 0 0 0 5 1 0 0 0 1 2 0 6 0 0 1 2 0 6 0 0 1 2 0 6 0 0 + 1 2 0 6 0 0 1 2 0 6 0 0 1 2 0 0 0 0 1 2 0 0 0 8 1 2 + 0 0 0 5 1 2 0 0 0 0 1 2 0 0 8 0 1)) + <15 (|makeByteWordVec2| #) + 15> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (GETL |load| |TimeTotal|) + <15 (GETL 0.0) + 15> (GETL |gc| |TimeTotal|) + <15 (GETL 0.0) + 15> (PUT |gc| |TimeTotal| 0.0) + <15 (PUT 0.0) + 15> (PUT |load| |TimeTotal| 0.0) + <15 (PUT 0.0) + <14 (|loadLibNoUpdate| T) + <13 (|loadLib| T) + 13> (HPUT # |PositiveInteger| + ((NIL 1 . #))) + <13 (HPUT ((NIL 1 . #))) + 13> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <13 (GETDATABASE |domain|) + 13> (GETL |PositiveInteger| |infovec|) + <13 (GETL (# + # + (((|commutative| "*") . 0)) + (# + # + # + . #) |lookupComplete|)) + 13> (HPUT # |PositiveInteger| + ((NIL 1 . #))) + <13 (HPUT ((NIL 1 . #))) + 13> (GETL |instantiation| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |instantiation| |TimeTotal| 0.0) + <13 (PUT 0.0) + <12 (|evalDomain| #) + 12> (|compiledLookup| |coerce| ((|OutputForm|) $) + #) + 13> (|NRTevalDomain| #) + 14> (|evalDomain| #) + 15> (GETL |print| |TimeTotal|) + <15 (GETL 0.0) + 15> (GETL |gc| |TimeTotal|) + <15 (GETL 0.0) + 15> (PUT |gc| |TimeTotal| 0.0) + <15 (PUT 0.0) + 15> (PUT |print| |TimeTotal| 0.0) + <15 (PUT 0.0) + 15> (|mkEvalable| #) + <15 (|mkEvalable| #) + 15> (GETL |instantiation| |TimeTotal|) + <15 (GETL 0.0) + 15> (GETL |gc| |TimeTotal|) + <15 (GETL 0.0) + 15> (PUT |gc| |TimeTotal| 0.0) + <15 (PUT 0.0) + 15> (PUT |instantiation| |TimeTotal| 0.0) + <15 (PUT 0.0) + <14 (|evalDomain| #) + <13 (|NRTevalDomain| #) + 13> (|basicLookup| |coerce| ((|OutputForm|) $) + # #) + 14> (|oldCompLookup| |coerce| ((|OutputForm|) $) + # #) + 15> (|lookupInDomainVector| |coerce| ((|OutputForm|) $) + # #) + 16> (GETDATABASE |OutputForm| COSIG) + <16 (GETDATABASE (NIL)) + 16> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <16 (GETDATABASE |domain|) + 16> (GETL |NonNegativeInteger| LOADED) + <16 (GETL NIL) + 16> (|loadLib| |NonNegativeInteger|) + 17> (GETL |print| |TimeTotal|) + <17 (GETL 0.0) + 17> (GETL |gc| |TimeTotal|) + <17 (GETL 0.0) + 17> (PUT |gc| |TimeTotal| 0.0) + <17 (PUT 0.0) + 17> (PUT |print| |TimeTotal| 0.0) + <17 (PUT 0.0) + 17> (GETDATABASE |NonNegativeInteger| OBJECT) + <17 (GETDATABASE + "/home/daly/noise/mnt/ubuntu/algebra/NNI.o") + 17> (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/NNI.o") + 18> (|pathname| + "/home/daly/noise/mnt/ubuntu/algebra/NNI.o") + <18 (|pathname| + #p"/home/daly/noise/mnt/ubuntu/algebra/NNI.o") + <17 (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + 17> (|isSystemDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + <17 (|isSystemDirectory| T) + 17> (|loadLibNoUpdate| |NonNegativeInteger| + |NonNegativeInteger| + "/home/daly/noise/mnt/ubuntu/algebra/NNI.o") + 18> (GETDATABASE |NonNegativeInteger| CONSTRUCTORKIND) + <18 (GETDATABASE |domain|) + 18> (|getProplist| |Integer| ((NIL))) + 19> (|search| |Integer| ((NIL))) + 20> (|searchCurrentEnv| |Integer| (NIL)) + <20 (|searchCurrentEnv| NIL) + 20> (|searchTailEnv| |Integer| NIL) + <20 (|searchTailEnv| NIL) + <19 (|search| NIL) + 19> (|search| |Integer| ((NIL))) + 20> (|searchCurrentEnv| |Integer| (NIL)) + <20 (|searchCurrentEnv| NIL) + 20> (|searchTailEnv| |Integer| NIL) + <20 (|searchTailEnv| NIL) + <19 (|search| NIL) + <18 (|getProplist| NIL) + 18> (|addBinding| |Integer| + ((|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))) ((NIL))) + 19> (|getProplist| |Integer| ((NIL))) + 20> (|search| |Integer| ((NIL))) + 21> (|searchCurrentEnv| |Integer| (NIL)) + <21 (|searchCurrentEnv| NIL) + 21> (|searchTailEnv| |Integer| NIL) + <21 (|searchTailEnv| NIL) + <20 (|search| NIL) + 20> (|search| |Integer| ((NIL))) + 21> (|searchCurrentEnv| |Integer| (NIL)) + <21 (|searchCurrentEnv| NIL) + 21> (|searchTailEnv| |Integer| NIL) + <21 (|searchTailEnv| NIL) + <20 (|search| NIL) + <19 (|getProplist| NIL) + 19> (|addBindingInteractive| |Integer| + ((|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))) ((NIL))) + <19 (|addBindingInteractive| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + <18 (|addBinding| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 18> (|getProplist| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 19> (|search| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 20> (|searchCurrentEnv| |NonNegativeInteger| + (((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T)))))))) + <20 (|searchCurrentEnv| NIL) + 20> (|searchTailEnv| |NonNegativeInteger| NIL) + <20 (|searchTailEnv| NIL) + <19 (|search| NIL) + 19> (|search| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 20> (|searchCurrentEnv| |NonNegativeInteger| + (((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T)))))))) + <20 (|searchCurrentEnv| NIL) + 20> (|searchTailEnv| |NonNegativeInteger| NIL) + <20 (|searchTailEnv| NIL) + <19 (|search| NIL) + <18 (|getProplist| NIL) + 18> (|addBinding| |NonNegativeInteger| + ((|SuperDomain| |Integer|)) + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 19> (|getProplist| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 20> (|search| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 21> (|searchCurrentEnv| |NonNegativeInteger| + (((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T)))))))) + <21 (|searchCurrentEnv| NIL) + 21> (|searchTailEnv| |NonNegativeInteger| NIL) + <21 (|searchTailEnv| NIL) + <20 (|search| NIL) + 20> (|search| |NonNegativeInteger| + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 21> (|searchCurrentEnv| |NonNegativeInteger| + (((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T)))))))) + <21 (|searchCurrentEnv| NIL) + 21> (|searchTailEnv| |NonNegativeInteger| NIL) + <21 (|searchTailEnv| NIL) + <20 (|search| NIL) + <19 (|getProplist| NIL) + 19> (|addBindingInteractive| |NonNegativeInteger| + ((|SuperDomain| |Integer|)) + ((((|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + <19 (|addBindingInteractive| + ((((|NonNegativeInteger| (|SuperDomain| |Integer|)) + (|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + <18 (|addBinding| + ((((|NonNegativeInteger| (|SuperDomain| |Integer|)) + (|Integer| + (|SubDomain| + (|NonNegativeInteger| + COND + ((SPADCALL |#1| 0 (QREFELT $ 7)) (QUOTE NIL)) + ((QUOTE T) (QUOTE T))))))))) + 18> (|makeByteWordVec2| 1 (0 0 0 0 0 0 0 0 0 0 0 0 0)) + <18 (|makeByteWordVec2| #) + 18> (|makeByteWordVec2| 18 (2 5 6 0 0 7 2 5 0 0 0 10 2 0 6 + 0 0 1 1 0 6 0 1 2 0 0 0 0 8 2 0 11 0 0 12 2 0 0 0 5 + 9 0 0 0 1 2 0 0 0 0 1 1 0 11 0 1 1 0 0 0 1 2 0 0 0 + 0 1 1 0 6 0 1 2 0 0 0 0 1 2 0 0 0 0 1 1 0 17 0 1 1 + 0 16 0 1 2 0 0 0 0 1 2 0 11 0 0 1 2 0 13 0 0 1 1 0 + 18 0 1 2 0 0 0 14 1 2 0 0 0 15 1 0 0 0 1 0 0 0 1 2 + 0 6 0 0 1 2 0 6 0 0 1 2 0 6 0 0 1 2 0 6 0 0 1 2 0 + 6 0 0 1 2 0 0 0 0 1 2 0 0 0 14 1 2 0 0 0 15 1 2 0 + 0 0 0 1 2 0 0 14 0 1 2 0 0 15 0 1)) + <18 (|makeByteWordVec2| #) + 18> (GETDATABASE |NonNegativeInteger| CONSTRUCTORKIND) + <18 (GETDATABASE |domain|) + 18> (GETL |load| |TimeTotal|) + <18 (GETL 0.0) + 18> (GETL |gc| |TimeTotal|) + <18 (GETL 0.0) + 18> (PUT |gc| |TimeTotal| 0.0) + <18 (PUT 0.0) + 18> (PUT |load| |TimeTotal| 0.0) + <18 (PUT 0.0) + <17 (|loadLibNoUpdate| T) + <16 (|loadLib| T) + 16> (HPUT # + |NonNegativeInteger| + ((NIL 1 . #))) + <16 (HPUT ((NIL 1 . #))) + 16> (GETDATABASE |NonNegativeInteger| CONSTRUCTORKIND) + <16 (GETDATABASE |domain|) + 16> (GETL |NonNegativeInteger| |infovec|) + <16 (GETL (# + # + (((|commutative| "*") . 0)) + (# + # + # + . #) + |lookupComplete|)) + 16> (HPUT # + |NonNegativeInteger| + ((NIL 1 . #))) + <16 (HPUT ((NIL 1 . #))) + 16> (|lookupInDomainVector| |coerce| ((|OutputForm|) $) + # #) + 17> (GETDATABASE |NonNegativeInteger| CONSTRUCTORKIND) + <17 (GETDATABASE |domain|) + 17> (PNAME |NonNegativeInteger|) + <17 (PNAME "NonNegativeInteger") + 17> (PNAME |NonNegativeInteger|) + <17 (PNAME "NonNegativeInteger") + 17> (GETDATABASE |OutputForm| COSIG) + <17 (GETDATABASE (NIL)) + 17> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <17 (GETDATABASE |domain|) + 17> (GETL |Integer| LOADED) + <17 (GETL NIL) + 17> (|loadLib| |Integer|) + 18> (GETL |print| |TimeTotal|) + <18 (GETL 0.0) + 18> (GETL |gc| |TimeTotal|) + <18 (GETL 0.0) + 18> (PUT |gc| |TimeTotal| 0.0) + <18 (PUT 0.0) + 18> (PUT |print| |TimeTotal| 0.0) + <18 (PUT 0.0) + 18> (GETDATABASE |Integer| OBJECT) + <18 (GETDATABASE + "/home/daly/noise/mnt/ubuntu/algebra/INT.o") + 18> (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/INT.o") + 19> (|pathname| + "/home/daly/noise/mnt/ubuntu/algebra/INT.o") + <19 (|pathname| + #p"/home/daly/noise/mnt/ubuntu/algebra/INT.o") + <18 (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + 18> (|isSystemDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + <18 (|isSystemDirectory| T) + 18> (|loadLibNoUpdate| |Integer| |Integer| + "/home/daly/noise/mnt/ubuntu/algebra/INT.o") + 19> (GETDATABASE |Integer| CONSTRUCTORKIND) + <19 (GETDATABASE |domain|) + 19> (|makeByteWordVec2| 1 + (0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) + <19 (|makeByteWordVec2| #) + 19> (|makeByteWordVec2| 133 + (1 7 6 0 8 3 7 6 0 9 9 10 2 7 6 0 11 12 1 7 6 0 13 0 + 14 0 15 2 7 0 9 14 16 1 7 6 0 17 1 7 6 0 18 1 7 6 0 + 19 1 35 0 11 36 1 44 0 11 45 1 47 0 11 48 1 50 0 11 + 51 1 9 0 11 53 2 93 90 91 92 94 1 97 95 96 98 1 96 + 0 0 99 1 96 2 0 100 1 101 95 96 102 1 96 0 2 103 1 + 0 104 0 105 2 108 95 106 107 109 2 110 95 95 95 111 + 1 101 95 96 112 1 96 21 0 113 1 96 0 0 114 1 116 96 + 115 117 2 0 21 0 0 1 1 0 21 0 25 1 0 87 0 88 1 0 0 + 0 89 1 0 21 0 1 2 0 0 0 0 1 2 0 83 0 0 1 3 0 0 0 0 + 0 42 1 0 0 0 1 1 0 104 0 1 2 0 21 0 0 1 1 0 11 0 1 + 2 0 0 0 0 82 0 0 0 1 1 0 124 0 1 1 0 11 0 1 2 0 0 0 + 0 81 2 0 60 58 61 62 1 0 57 58 59 1 0 83 0 85 1 0 + 120 0 1 1 0 21 0 1 1 0 121 0 1 1 0 0 0 65 0 0 0 64 + 2 0 0 0 0 80 1 0 127 126 1 1 0 21 0 1 3 0 0 0 0 0 1 + 2 0 0 0 0 56 1 0 21 0 1 2 0 0 0 0 1 3 0 122 0 123 + 122 1 1 0 21 0 26 1 0 21 0 75 1 0 83 0 1 1 0 21 0 + 34 2 0 125 126 0 1 3 0 0 0 0 0 43 2 0 0 0 0 77 2 0 + 0 0 0 76 1 0 0 0 1 1 0 0 0 40 2 0 131 0 0 1 1 0 0 + 126 1 2 0 0 0 0 1 1 0 9 0 55 2 0 0 0 0 1 0 0 0 1 1 + 0 0 0 31 1 0 0 0 33 1 0 133 0 1 2 0 118 118 118 119 + 2 0 0 0 0 86 1 0 0 126 1 1 0 0 0 1 1 0 104 0 105 3 + 0 129 0 0 0 1 2 0 130 0 0 1 2 0 83 0 0 84 2 0 125 + 126 0 1 1 0 21 0 1 1 0 73 0 1 2 0 78 0 0 79 1 0 0 0 + 1 2 0 0 0 73 1 1 0 0 0 32 1 0 0 0 30 1 0 9 0 54 1 0 + 47 0 49 1 0 44 0 46 1 0 50 0 52 1 0 123 0 1 1 0 11 + 0 39 1 0 0 11 38 1 0 0 0 1 1 0 0 11 38 1 0 35 0 37 + 0 0 73 1 2 0 21 0 0 1 2 0 0 0 0 1 0 0 0 29 2 0 21 0 + 0 1 3 0 0 0 0 0 41 1 0 0 0 63 2 0 0 0 73 1 2 0 0 0 + 132 1 0 0 0 27 0 0 0 28 3 0 6 7 0 21 24 2 0 9 0 21 + 22 2 0 6 7 0 23 1 0 9 0 20 1 0 0 0 1 2 0 0 0 73 1 2 + 0 21 0 0 1 2 0 21 0 0 1 2 0 21 0 0 66 2 0 21 0 0 1 + 2 0 21 0 0 67 2 0 0 0 0 70 1 0 0 0 68 2 0 0 0 0 69 + 2 0 0 0 73 74 2 0 0 0 132 1 2 0 0 0 0 71 2 0 0 11 0 + 72 2 0 0 73 0 1 2 0 0 132 0 1)) + <19 (|makeByteWordVec2| #) + 19> (GETDATABASE |Integer| CONSTRUCTORKIND) + <19 (GETDATABASE |domain|) + 19> (GETL |load| |TimeTotal|) + <19 (GETL 0.0) + 19> (GETL |gc| |TimeTotal|) + <19 (GETL 0.0) + 19> (PUT |gc| |TimeTotal| 0.0) + <19 (PUT 0.0) + 19> (PUT |load| |TimeTotal| 0.0) + <19 (PUT 0.0) + <18 (|loadLibNoUpdate| T) + <17 (|loadLib| T) + 17> (HPUT # |Integer| + ((NIL 1 . #))) + <17 (HPUT ((NIL 1 . #))) + 17> (GETDATABASE |Integer| CONSTRUCTORKIND) + <17 (GETDATABASE |domain|) + 17> (GETL |Integer| |infovec|) + <17 (GETL (# + # ((|infinite| . 0) + (|noetherian| . 0) (|canonicalsClosed| . 0) + (|canonical| . 0) (|canonicalUnitNormal| . 0) + (|multiplicativeValuation| . 0) + (|noZeroDivisors| . 0) + ((|commutative| "*") . 0) (|rightUnitary| . 0) + (|leftUnitary| . 0) (|unitsKnown| . 0)) + (# + # + # + . #) + |lookupComplete|)) + 17> (HPUT # |Integer| + ((NIL 1 . #))) + <17 (HPUT ((NIL 1 . #))) + 17> (|lookupInDomainVector| |coerce| ((|OutputForm|) $) + # #) + 18> (GETDATABASE |Integer| CONSTRUCTORKIND) + <18 (GETDATABASE |domain|) + 18> (PNAME |Integer|) + <18 (PNAME "Integer") + 18> (PNAME |Integer|) + <18 (PNAME "Integer") + 18> (GETDATABASE |OutputForm| COSIG) + <18 (GETDATABASE (NIL)) + 18> (GETDATABASE |PositiveInteger| CONSTRUCTORKIND) + <18 (GETDATABASE |domain|) + <17 (|lookupInDomainVector| + (# + . #)) + <16 (|lookupInDomainVector| + (# + . #)) + <15 (|lookupInDomainVector| + (# + . #)) + <14 (|oldCompLookup| + (# + . #)) + <13 (|basicLookup| + (# + . #)) + <12 (|compiledLookup| + (# + . #)) + +"TPD:INT:coerce(x):OutputForm" +\end{verbatim} + +\begin{verbatim} + 12> (GETDATABASE |Integer| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETL |OutputForm| LOADED) + <12 (GETL NIL) + 12> (|loadLib| |OutputForm|) + 13> (GETL |print| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |print| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (GETDATABASE |OutputForm| OBJECT) + <13 (GETDATABASE + "/home/daly/noise/mnt/ubuntu/algebra/OUTFORM.o") + 13> (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/OUTFORM.o") + 14> (|pathname| + "/home/daly/noise/mnt/ubuntu/algebra/OUTFORM.o") + <14 (|pathname| + #p"/home/daly/noise/mnt/ubuntu/algebra/OUTFORM.o") + <13 (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + 13> (|isSystemDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + <13 (|isSystemDirectory| T) + 13> (|loadLibNoUpdate| |OutputForm| |OutputForm| + "/home/daly/noise/mnt/ubuntu/algebra/OUTFORM.o") + 14> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <14 (GETDATABASE |domain|) + 14> (|makeByteWordVec2| 1 (0 0 0)) + <14 (|makeByteWordVec2| #) + 14> (|makeByteWordVec2| 144 + (1 10 9 0 11 0 25 0 26 2 10 0 0 25 27 2 10 0 25 0 28 + 2 19 0 0 0 36 2 19 0 0 0 37 2 19 9 0 0 46 1 6 0 0 56 + 2 6 0 0 0 57 1 6 9 0 69 1 6 0 0 70 1 6 2 0 71 1 6 73 + 0 74 1 19 9 0 75 2 76 0 0 0 77 1 76 0 0 105 1 25 0 + 10 114 2 10 0 73 25 115 1 73 9 0 128 2 73 9 0 0 129 + 1 131 10 130 132 1 10 0 0 133 2 0 9 0 0 1 2 0 0 0 0 + 120 0 0 19 35 1 0 19 0 30 1 0 0 19 47 1 0 0 52 80 2 + 0 0 0 0 48 2 0 0 0 52 78 1 0 19 0 33 2 0 0 0 0 66 2 + 0 0 0 0 136 3 0 0 0 0 0 137 1 0 0 0 135 1 0 19 0 32 + 2 0 0 0 0 65 1 0 0 0 109 2 0 0 0 0 124 1 0 0 52 55 + 2 0 0 0 52 72 2 0 0 19 19 49 1 0 0 0 121 2 0 0 0 0 + 122 1 0 0 0 45 2 0 0 0 19 42 2 0 0 0 0 93 2 0 0 0 0 + 127 1 0 0 0 110 2 0 0 0 0 94 3 0 0 0 0 0 140 1 0 0 + 0 138 2 0 0 0 0 139 1 0 7 0 8 2 0 0 0 73 117 1 0 0 + 0 113 2 0 0 0 0 68 2 0 0 0 0 67 2 0 0 0 52 104 2 0 + 0 0 0 108 1 0 0 52 53 1 0 0 52 64 1 0 0 0 63 2 0 0 + 0 0 118 1 0 0 0 111 2 0 0 0 0 123 1 0 0 10 29 1 0 0 + 23 24 1 0 0 21 22 1 0 0 19 20 2 0 0 0 0 97 1 0 0 0 + 98 1 0 7 10 14 1 0 0 10 13 1 0 0 50 51 1 0 0 0 44 2 + 0 0 0 19 41 1 0 10 0 1 2 0 0 0 0 126 3 0 0 0 0 0 + 143 2 0 0 0 0 142 1 0 0 0 141 1 0 9 0 102 2 0 0 0 + 52 106 3 0 0 0 0 0 107 1 0 0 19 38 0 0 19 34 1 0 19 + 0 31 1 0 0 52 79 2 0 0 0 0 39 1 0 144 0 1 2 0 0 0 0 + 95 0 0 0 12 2 0 0 0 52 103 2 0 0 0 73 116 1 0 0 0 + 112 2 0 0 0 0 92 2 0 0 0 73 134 1 0 0 52 54 1 0 17 + 0 18 1 0 0 0 43 2 0 0 0 19 40 1 0 0 0 61 1 0 0 52 + 62 1 0 0 52 60 1 0 0 0 59 1 0 0 0 119 1 0 0 52 58 2 + 0 0 0 0 101 2 0 0 0 0 125 2 0 0 0 0 96 2 0 0 0 0 81 + 1 0 0 0 100 2 0 0 0 0 99 2 0 0 0 0 85 2 0 0 0 0 83 + 2 0 0 0 0 16 2 0 9 0 0 15 2 0 0 0 0 84 2 0 0 0 0 82 + 2 0 0 0 0 90 1 0 0 0 88 2 0 0 0 0 87 2 0 0 0 0 86 2 + 0 0 0 0 91 2 0 0 0 0 89)) + <14 (|makeByteWordVec2| #) + 14> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <14 (GETDATABASE |domain|) + 14> (GETL |load| |TimeTotal|) + <14 (GETL 0.0) + 14> (GETL |gc| |TimeTotal|) + <14 (GETL 0.0) + 14> (PUT |gc| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (PUT |load| |TimeTotal| 0.0) + <14 (PUT 0.0) + <13 (|loadLibNoUpdate| T) + <12 (|loadLib| T) + 12> (HPUT # |OutputForm| + ((NIL 1 . #))) + <12 (HPUT ((NIL 1 . #))) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETL |OutputForm| |infovec|) + <12 (GETL (# + # NIL + (# + # + # + . #) + |lookupComplete|)) + 12> (GETL |List| LOADED) + <12 (GETL NIL) + 12> (|loadLib| |List|) + 13> (GETL |print| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |print| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (GETDATABASE |List| OBJECT) + <13 (GETDATABASE + "/home/daly/noise/mnt/ubuntu/algebra/LIST.o") + 13> (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/LIST.o") + 14> (|pathname| + "/home/daly/noise/mnt/ubuntu/algebra/LIST.o") + <14 (|pathname| + #p"/home/daly/noise/mnt/ubuntu/algebra/LIST.o") + <13 (|pathnameDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + 13> (|isSystemDirectory| + "/home/daly/noise/mnt/ubuntu/algebra/") + <13 (|isSystemDirectory| T) + 13> (|loadLibNoUpdate| |List| |List| + "/home/daly/noise/mnt/ubuntu/algebra/LIST.o") + 14> (GETDATABASE |List| CONSTRUCTORKIND) + <14 (GETDATABASE |domain|) + 14> (|makeByteWordVec2| 8 + (0 0 0 0 0 0 0 0 0 0 3 0 0 8 4 0 0 8 1 2 4 5)) + <14 (|makeByteWordVec2| #) + 14> (|makeByteWordVec2| 51 + (1 13 12 0 14 3 13 12 0 15 15 16 1 0 6 0 17 3 6 12 + 13 0 8 18 1 0 0 0 19 1 13 12 0 20 0 21 0 22 2 13 0 + 15 21 23 1 13 12 0 24 1 13 12 0 25 1 13 12 0 26 1 + 0 15 0 27 2 0 15 0 8 28 2 0 12 13 0 29 3 0 12 13 0 + 8 30 2 0 0 0 0 31 1 0 0 0 32 2 0 0 0 0 33 0 0 0 34 + 1 0 8 0 35 2 0 8 6 0 36 2 0 0 0 0 37 2 0 6 0 38 39 + 2 0 0 6 0 40 2 0 0 0 0 41 1 42 0 15 43 1 44 0 42 45 + 1 6 44 0 46 2 47 0 44 0 48 1 44 0 49 50 1 0 44 0 51 + 2 1 0 0 0 33 2 1 0 0 0 37 2 1 0 0 0 41 1 0 0 0 19 1 + 1 0 0 32 1 0 8 0 9 0 0 0 7 2 1 8 6 0 36 1 0 6 0 17 + 1 0 8 0 35 0 0 0 34 2 0 6 0 38 39 1 2 44 0 51 2 0 0 + 6 0 10 2 0 0 6 0 40 2 0 0 0 0 31 2 0 0 0 0 11 3 5 12 + 13 0 8 30 2 5 12 13 0 29 1 5 15 0 27 2 5 15 0 8 28)) + <14 (|makeByteWordVec2| #) + 14> (GETDATABASE |List| CONSTRUCTORKIND) + <14 (GETDATABASE |domain|) + 14> (GETL |load| |TimeTotal|) + <14 (GETL 0.0) + 14> (GETL |gc| |TimeTotal|) + <14 (GETL 0.0) + 14> (PUT |gc| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (PUT |load| |TimeTotal| 0.0) + <14 (PUT 0.0) + <13 (|loadLibNoUpdate| T) + <12 (|loadLib| T) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |SetCategory| COSIG) + <12 (GETDATABASE (NIL)) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |SetCategory| COSIG) + <12 (GETDATABASE (NIL)) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |Integer| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |Integer|) + <12 (PNAME "Integer") + 12> (PNAME |Integer|) + <12 (PNAME "Integer") + 12> (GETDATABASE |OrderedSet| COSIG) + <12 (GETDATABASE (NIL)) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (PNAME |OutputForm|) + <12 (PNAME "OutputForm") + 12> (HPUT # |List| + ((((|OutputForm|)) 1 . #))) + <12 (HPUT ((((|OutputForm|)) 1 + . #))) + 12> (GETDATABASE |List| CONSTRUCTORKIND) + <12 (GETDATABASE |domain|) + 12> (GETL |List| |infovec|) + <12 (GETL (# + # + ((|shallowlyMutable| . 0) + (|finiteAggregate| . 0)) + (# + # + # + . #) + |lookupIncomplete|)) + 12> (HPUT # |OutputForm| + ((NIL 1 . #))) + <12 (HPUT ((NIL 1 . #))) + 12> (GETDATABASE |Integer| COSIG) + <12 (GETDATABASE (NIL)) + 12> (|basicLookup| |outputForm| ($ (|Integer|)) + # #) + 13> (|oldCompLookup| |outputForm| ($ (|Integer|)) + # #) + 14> (|lookupInDomainVector| |outputForm| ($ (|Integer|)) + # #) + 15> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (GETDATABASE |OutputForm| CONSTRUCTORKIND) + <15 (GETDATABASE |domain|) + 15> (GETDATABASE |Integer| COSIG) + <15 (GETDATABASE (NIL)) + <14 (|lookupInDomainVector| + (# + . #)) + <13 (|oldCompLookup| + (# + . #)) + <12 (|basicLookup| + (# + . #)) + +"TPD:OUTFORM:outputForm n" +\end{verbatim} + +\begin{verbatim} + 12> (GETL |print| |TimeTotal|) + <12 (GETL 0.0) + 12> (GETL |gc| |TimeTotal|) + <12 (GETL 0.0) + 12> (PUT |gc| |TimeTotal| 0.0) + <12 (PUT 0.0) + 12> (PUT |print| |TimeTotal| 0.0) + <12 (PUT 0.0) + 12> (|member| 1 ("failed" "nil" "prime" "sqfr" "irred")) + <12 (|member| NIL) + 12> (|member| EQUATNUM (SLASH OVER)) + <12 (|member| NIL) + 12> (GETL EQUATNUM |Led|) + <12 (GETL (|dummy| |dummy| 10000 0)) + 12> (|member| EQUATNUM (SLASH OVER)) + <12 (|member| NIL) + 12> (GETL EQUATNUM |Led|) + <12 (GETL (|dummy| |dummy| 10000 0)) + 12> (GETL EQUATNUM INFIXOP) + <12 (GETL " ") + 12> (GETL EQUATNUM WIDTH) + <12 (GETL NIL) + 12> (GETL EQUATNUM APP) + <12 (GETL NIL) + 12> (|member| EQUATNUM (SLASH OVER)) + <12 (|member| NIL) + 12> (GETL EQUATNUM |Led|) + <12 (GETL (|dummy| |dummy| 10000 0)) + 12> (|member| EQUATNUM (SLASH OVER)) + <12 (|member| NIL) + 12> (GETL EQUATNUM |Led|) + <12 (GETL (|dummy| |dummy| 10000 0)) + 12> (GETL EQUATNUM INFIXOP) + <12 (GETL " ") + 12> (GETL EQUATNUM SUPERSPAN) + <12 (GETL NIL) + 12> (GETL EQUATNUM SUBSPAN) + <12 (GETL NIL) + (1) 1 +\end{verbatim} + +\begin{verbatim} + 12> (|putHist| % |value| ((|PositiveInteger|) . 1) ((NIL))) + 13> (|recordNewValue| % |value| ((|PositiveInteger|) . 1)) + 14> (GETL |print| |TimeTotal|) + <14 (GETL 0.0) + 14> (GETL |gc| |TimeTotal|) + <14 (GETL 0.0) + 14> (PUT |gc| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (PUT |print| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (|recordNewValue0| % |value| ((|PositiveInteger|) . 1)) + <14 (|recordNewValue0| + ((% (|value| (|PositiveInteger|) . 1)))) + 14> (GETL |history| |TimeTotal|) + <14 (GETL 0.0) + 14> (GETL |gc| |TimeTotal|) + <14 (GETL 0.0) + 14> (PUT |gc| |TimeTotal| 0.0) + <14 (PUT 0.0) + 14> (PUT |history| |TimeTotal| 0.0) + <14 (PUT 0.0) + <13 (|recordNewValue| |history|) + 13> (|search| % ((NIL))) + 14> (|searchCurrentEnv| % (NIL)) + <14 (|searchCurrentEnv| NIL) + 14> (|searchTailEnv| % NIL) + <14 (|searchTailEnv| NIL) + <13 (|search| NIL) + <12 (|putHist| ((((% (|value| (|PositiveInteger|) . 1)))))) + 12> (|printTypeAndTime| 1 (|PositiveInteger|)) + 13> (|printTypeAndTimeNormal| 1 (|PositiveInteger|)) + 14> (|sayKeyedMsg| S2GL0012 ((|PositiveInteger|))) + 15> (|sayKeyedMsgLocal| S2GL0012 ((|PositiveInteger|))) + 16> (|getKeyedMsg| S2GL0012) + 17> (|fetchKeyedMsg| S2GL0012 NIL) + <17 (|fetchKeyedMsg| " %rjon Type: %1p %rjoff" T) + <16 (|getKeyedMsg| " %rjon Type: %1p %rjoff" T) + 16> (|segmentKeyedMsg| " %rjon Type: %1p %rjoff") + <16 (|segmentKeyedMsg| ("%rjon" "Type:" "%1p" "%rjoff")) + 16> (|member| "%rjon" (|%ceon| "%ceon")) + <16 (|member| NIL) + 16> (|member| "%rjon" (|%rjon| "%rjon")) + <16 (|member| ("%rjon")) + 16> (|member| "Type:" + (|%ceoff| "%ceoff" |%rjoff| "%rjoff")) + <16 (|member| NIL) + 16> (|member| "%1p" (|%ceoff| "%ceoff" |%rjoff| "%rjoff")) + <16 (|member| NIL) + 16> (|member| "%rjoff" + (|%ceoff| "%ceoff" |%rjoff| "%rjoff")) + <16 (|member| ("%rjoff")) + 16> (|member| "%rj" (|%ceon| "%ceon")) + <16 (|member| NIL) + 16> (|member| "%rj" (|%rjon| "%rjon")) + <16 (|member| NIL) + 16> (|member| "Type:" (|%ceon| "%ceon")) + <16 (|member| NIL) + 16> (|member| "Type:" (|%rjon| "%rjon")) + <16 (|member| NIL) + 16> (|member| "%1p" (|%ceon| "%ceon")) + <16 (|member| NIL) + 16> (|member| "%1p" (|%rjon| "%rjon")) + <16 (|member| NIL) + 16> (DIGITP #\r) + <16 (DIGITP NIL) + 16> (DIGITP #\1) + <16 (DIGITP 1) + 16> (GETDATABASE |PositiveInteger| ABBREVIATION) + <16 (GETDATABASE PI) + 16> (|member| "Type:" ("%n" |%n|)) + <16 (|member| NIL) + 16> (|member| "Type:" ("%y" |%y|)) + <16 (|member| NIL) + 16> (|member| "%rj" + (" " | | "%" % |%b| |%d| |%l| |%i| |%u| %U |%n| |%x| + |%ce| |%rj| "%U" "%b" "%d" "%l" "%i" "%u" "%U" "%n" + "%x" "%ce" "%rj" [ |(| "[" "(")) + <16 (|member| ("%rj" [ |(| "[" "(")) + 16> (|member| |PositiveInteger| ("%n" |%n|)) + <16 (|member| NIL) + 16> (|member| |PositiveInteger| ("%y" |%y|)) + <16 (|member| NIL) + 16> (|member| "Type:" + (" " | | "%" % |%b| |%d| |%l| |%i| |%u| %U |%n| |%x| + |%ce| |%rj| "%U" "%b" "%d" "%l" "%i" "%u" "%U" "%n" + "%x" "%ce" "%rj" [ |(| "[" "(")) + <16 (|member| NIL) + 16> (SIZE "Type:") + <16 (SIZE 5) + 16> (|member| |PositiveInteger| + (" " | | "%" % |%b| |%d| |%l| |%i| |%u| %U |%n| |%x| + |%ce| |%rj| "%U" "%b" "%d" "%l" "%i" "%u" "%U" "%n" + "%x" "%ce" "%rj" |.| |,| ! |:| |;| ? ] |)| "." "," + "!" ":" ";" "?" "]" ")")) + <16 (|member| NIL) + 16> (|member| "%rj" (|%ce| "%ce" |%rj| "%rj")) + <16 (|member| ("%rj")) + 16> (|sayMSG| (("%rj" "Type:" " " |PositiveInteger|))) + 17> (SAYBRIGHTLY1 (("%rj" "Type:" " " |PositiveInteger|)) + #) + 18> (BRIGHTPRINT (("%rj" "Type:" " " |PositiveInteger|))) + 19> (|member| "%rj" ("%p" "%s")) + <19 (|member| NIL) + 19> (|member| "Type:" (|%l| "%l")) + <19 (|member| NIL) + 19> (|member| " " (|%l| "%l")) + <19 (|member| NIL) + 19> (|member| |PositiveInteger| (|%l| "%l")) + <19 (|member| NIL) + 19> (|member| "Type:" ("%b" "%d" |%b| |%d|)) + <19 (|member| NIL) + 19> (|member| "Type:" ("%l" |%l|)) + <19 (|member| NIL) + 19> (|member| " " ("%b" "%d" |%b| |%d|)) + <19 (|member| NIL) + 19> (|member| " " ("%l" |%l|)) + <19 (|member| NIL) + 19> (|member| |PositiveInteger| ("%b" "%d" |%b| |%d|)) + <19 (|member| NIL) + 19> (|member| |PositiveInteger| ("%l" |%l|)) + <19 (|member| NIL) + 19> (PNAME |PositiveInteger|) + <19 (PNAME "PositiveInteger") + 19> (|fillerSpaces| 56 " ") + <19 (|fillerSpaces| + " ") + Type: + 19> (PNAME |PositiveInteger|) + <19 (PNAME "PositiveInteger") +PositiveInteger +\end{verbatim} + +\begin{verbatim} + <18 (BRIGHTPRINT NIL) + <17 (SAYBRIGHTLY1 NIL) + <16 (|sayMSG| NIL) + <15 (|sayKeyedMsgLocal| NIL) + <14 (|sayKeyedMsg| NIL) + <13 (|printTypeAndTimeNormal| NIL) + <12 (|printTypeAndTime| NIL) + <11 (|recordAndPrint| |done|) + 11> (|recordFrame| |normal|) + 12> (|diffAlist| + ((% (|value| (|PositiveInteger|) . 1))) NIL) + <12 (|diffAlist| ((% (|value|)))) + <11 (|recordFrame| ((% (|value|)))) + 11> (GETL |print| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |print| |TimeTotal| 0.0) + <11 (PUT 0.0) + <10 (|processInteractive1| ((|PositiveInteger|) . 1)) + 10> (|writeHistModesAndValues|) + 11> (|putHist| % |value| + #0=((|PositiveInteger|) . 1) ((((% (|value| . #0#)))))) + 12> (|recordNewValue| % |value| ((|PositiveInteger|) . 1)) + 13> (GETL |other| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |other| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (|recordNewValue0| % |value| ((|PositiveInteger|) . 1)) + <13 (|recordNewValue0| (|value| (|PositiveInteger|) . 1)) + 13> (GETL |history| |TimeTotal|) + <13 (GETL 0.0) + 13> (GETL |gc| |TimeTotal|) + <13 (GETL 0.0) + 13> (PUT |gc| |TimeTotal| 0.0) + <13 (PUT 0.0) + 13> (PUT |history| |TimeTotal| 0.0) + <13 (PUT 0.0) + <12 (|recordNewValue| |history|) + 12> (|search| % + ((((% (|value| (|PositiveInteger|) . 1)))))) + 13> (|searchCurrentEnv| % + (((% (|value| (|PositiveInteger|) . 1))))) + <13 (|searchCurrentEnv| + ((|value| (|PositiveInteger|) . 1))) + <12 (|search| ((|value| (|PositiveInteger|) . 1))) + <11 (|putHist| ((((% (|value| (|PositiveInteger|) . 1)))))) + <10 (|writeHistModesAndValues| NIL) + 10> (|updateHist|) + 11> (GETL |other| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |other| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (|updateInCoreHist|) + <11 (|updateInCoreHist| 1) + 11> (|writeHiFi|) + <11 (|writeHiFi| + ((1 (% (|value| (|PositiveInteger|) . 1))))) + 11> (|disableHist|) + <11 (|disableHist| NIL) + 11> (|updateCurrentInterpreterFrame|) + 12> (|createCurrentInterpreterFrame|) + <12 (|createCurrentInterpreterFrame| + (|frame0| + ((((% (|value| . #0=((|PositiveInteger|) . 1)))))) + 2 T + #1=(NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL NIL + NIL NIL NIL NIL NIL NIL NIL NIL NIL . #1#) + 20 1 NIL ((1 (% (|value| . #0#)))) + #)) + 12> (|updateFromCurrentInterpreterFrame|) + <12 (|updateFromCurrentInterpreterFrame| NIL) + <11 (|updateCurrentInterpreterFrame| NIL) + 11> (GETL |history| |TimeTotal|) + <11 (GETL 0.0) + 11> (GETL |gc| |TimeTotal|) + <11 (GETL 0.0) + 11> (PUT |gc| |TimeTotal| 0.0) + <11 (PUT 0.0) + 11> (PUT |history| |TimeTotal| 0.0) + <11 (PUT 0.0) + <10 (|updateHist| |history|) + <9 (|processInteractive| ((|PositiveInteger|) . 1)) + <8 (|intInterpretPform| ((|PositiveInteger|) . 1)) + 8> (|ncPutQ| + ((|carrier| (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) |value| + ((|PositiveInteger|) . 1)) + 9> (|ncAlist| + ((|carrier| (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| ((|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncAlist| + ((|carrier| (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncAlist| + ((|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + 9> (|ncTag| + ((|carrier| (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <9 (|ncTag| |carrier|) + <8 (|ncPutQ| ((|PositiveInteger|) . 1)) + <7 (|phInterpret| ((|PositiveInteger|) . 1)) + 7> (|ncConversationPhase,wrapup| + ((|carrier| (|value| (|PositiveInteger|) . 1) (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <7 (|ncConversationPhase,wrapup| NIL) + <6 (|ncConversationPhase| ((|PositiveInteger|) . 1)) + 6> (|ncEltQ| + ((|carrier| (|value| (|PositiveInteger|) . 1) (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + |messages|) + 7> (|ncAlist| + ((|carrier| (|value| (|PositiveInteger|) . 1) (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1)))) + <7 (|ncAlist| + ((|value| (|PositiveInteger|) . 1) (|ok?| . T) + (|ptreePremacro| + . #0=((|integer| (|posn| #1=(0 "1" 1 1 "strings") . 0)) + . "1")) + (|ptree| . #0#) + (|lines| ((#1# . 1) . "1")) + (|messages|) + (|stepNumber| . 1))) + <6 (|ncEltQ| NIL) + <5 (|intloopSpadProcess,interp| NIL) + <4 (|intloopSpadProcess| 2) +\end{verbatim} +\begin{verbatim} + 4> (|StreamNull| + (|nonnullstream| #0=|incAppend1| NIL + (|nonnullstream| #2=|next1| |ncloopParse| + (|nonnullstream| #0# NIL + (|nonnullstream| #2# |lineoftoks| (|nullstream|)))))) + 5> (|incAppend1| NIL + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) + 6> (|StreamNull| NIL) + <6 (|StreamNull| T) + 6> (|StreamNull| + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| #0# |lineoftoks| (|nullstream|))))) + 7> (|next1| |ncloopParse| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| (|nullstream|)))) + 8> (|StreamNull| + (|nonnullstream| |incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| (|nullstream|)))) + 9> (|incAppend1| NIL + (|nonnullstream| |next1| |lineoftoks| (|nullstream|))) + 10> (|StreamNull| NIL) + <10 (|StreamNull| T) + 10> (|StreamNull| + (|nonnullstream| |next1| |lineoftoks| (|nullstream|))) + 11> (|next1| |lineoftoks| (|nullstream|)) + 12> (|StreamNull| (|nullstream|)) + <12 (|StreamNull| T) + <11 (|next1| (|nullstream|)) + <10 (|StreamNull| T) + <9 (|incAppend1| (|nullstream|)) + <8 (|StreamNull| T) + <7 (|next1| (|nullstream|)) + <6 (|StreamNull| T) + <5 (|incAppend1| (|nullstream|)) + <4 (|StreamNull| T) + <3 (|intloopProcess| 2) +\end{verbatim} + +\chapter{Axiom Details} \section{Variables Used} \section{Data Structures} \section{Functions} @@ -385,6 +5516,7 @@ itself (don't break this) and never exits. When a lisp image containing code is reloaded there is a hook to allow a function to be called. In our case it is the restart function which is the entry to the Axiom interpreter. +\sig{set-restart-hook}{Void}{'restart} \begin{chunk}{defun set-restart-hook 0} (defun set-restart-hook () "Set the restart hook" @@ -394,6 +5526,7 @@ function which is the entry to the Axiom interpreter. ) \end{chunk} + \pagehead{restart function}{The restart function} \pagepic{ps/v5restart.ps}{Restart}{1.00} The restart function is the real root of the world. It sets up memory @@ -441,7 +5574,6 @@ The \fnref{statisticsInitialization} function initializes variables used to collect statistics. Currently, only the garbage collector information is initialized. - \calls{restart}{init-memory-config} \calls{restart}{initroot} \calls{restart}{openserver} @@ -824,17 +5956,17 @@ with this hack and will try to convince the GCL crowd to fix this. \usesdollar{SpadInterpretStream}{libQuiet} \usesdollar{SpadInterpretStream}{fn} \usesdollar{SpadInterpretStream}{nopos} +\label{SpadInterpretStream} \begin{chunk}{defun SpadInterpretStream} (defun |SpadInterpretStream| (str source interactive?) (let (|$promptMsg| |$systemCommandFunction| |$ncMsgList| |$erMsgToss| |$lastPos| |$inclAssertions| |$okToExecuteMachineCode| |$newcompErrorCount| - |$libQuiet| |$fn|) + |$libQuiet|) (declare (special |$promptMsg| |$systemCommandFunction| |$ncMsgList| |$erMsgToss| |$lastPos| |$inclAssertions| |$okToExecuteMachineCode| |$newcompErrorCount| - |$libQuiet| |$fn| |$nopos|)) - (setq |$fn| source) + |$libQuiet| |$nopos|)) (setq |$libQuiet| (null interactive?)) (setq |$newcompErrorCount| 0) (setq |$okToExecuteMachineCode| t) @@ -896,33 +6028,46 @@ will end up as a recursive call to ourselves. \calls{intloopReadConsole}{ncloopEscaped} \calls{intloopReadConsole}{intloopProcessString} \usesdollar{intloopReadConsole}{dalymode} +\label{intloopReadConsole} +\sig{intloopReadConsole}{(String Integer)}{Throw} \begin{chunk}{defun intloopReadConsole} -(defun |intloopReadConsole| (b n) +(defun |intloopReadConsole| (prefix stepNumber) (declare (special $dalymode)) - (let (c d pfx input) + (let (newStepNo cmd pfx input) + ; read the next line (setq input (|serverReadLine| *standard-input*)) + ; if we have lost *standard-input* then exit Axiom (when (null (stringp input)) (|leaveScratchpad|)) + ; if the input is a zero-length input, recurse (when (eql (length input) 0) (princ (mkprompt)) - (|intloopReadConsole| "" n)) + (|intloopReadConsole| "" stepNumber)) + ; if $dalymode is nonnil anything starting with '(' is a lisp expression + ; evaluate the expression in lisp and recurse (when (and $dalymode (|intloopPrefix?| "(" input)) (|intnplisp| input) (princ (mkprompt)) - (|intloopReadConsole| "" n)) + (|intloopReadConsole| "" stepNumber)) + ; if the input starts with ")fi" or ")fin" throw into lisp (setq pfx (|intloopPrefix?| ")fi" input)) (when (and pfx (or (string= pfx ")fi") (string= pfx ")fin"))) (throw '|top_level| nil)) - (when (and (equal b "") (setq d (|intloopPrefix?| ")" input))) - (|setCurrentLine| d) - (setq c (|ncloopCommand| d n)) + ; if the input starts with ')' it is a command; execute and recurse + (when (and (equal prefix "") (setq cmd (|intloopPrefix?| ")" input))) + (|setCurrentLine| cmd) + (setq newStepNo (|ncloopCommand| cmd stepNumber)) (princ (mkprompt)) - (|intloopReadConsole| "" c)) - (setq input (concat b input)) + (|intloopReadConsole| "" newStepNo)) + ; if the last non-blank character on the line is an underscore + ; we use the current accumulated input as a prefix and recurse. + ; this has the effect of concatenating the next line (minus the underscore) + (setq input (concat prefix input)) (when (|ncloopEscaped| input) - (|intloopReadConsole| (subseq input 0 (- (length input) 1)) n)) - (setq c (|intloopProcessString| input n)) + (|intloopReadConsole| (subseq input 0 (- (length input) 1)) stepNumber)) + ; if there are no special cases, process the current line and recurse + (setq newStepNo (|intloopProcessString| input stepNumber)) (princ (mkprompt)) - (|intloopReadConsole| "" c))) + (|intloopReadConsole| "" newStepNo))) \end{chunk} \section{Helper Functions} @@ -1104,6 +6249,8 @@ of the {\bf AXIOM} shell variable at build time) if we can't. If the prefix string is the same as the whole string initial characters --R(ignoring spaces in the whole string) then we return the whole string minus any leading spaces. +\label{intloopPrefix?} +\sig{intloopPrefix?}{String}{Union(String,NIL)} \begin{chunk}{defun intloopPrefix? 0} (defun |intloopPrefix?| (prefix whole) "Does the string start with this prefix?" @@ -1119,6 +6266,7 @@ minus any leading spaces. This is used to hande {\tt )lisp} top level commands \calls{intnplisp}{nplisp} \usesdollar{intnplisp}{currentLine} +\label{intnplisp} \begin{chunk}{defun intnplisp} (defun |intnplisp| (s) (declare (special |$currentLine|)) @@ -1175,12 +6323,14 @@ character. Otherwise, it returns nil. \calls{intloopProcessString}{intloopProcess} \calls{intloopProcessString}{next} \calls{intloopProcessString}{incString} +\label{intloopProcessString} +\sig{intloopProcessString}{(String,StepNo)}{StepNo} \begin{chunk}{defun intloopProcessString} -(defun |intloopProcessString| (s n) - (|setCurrentLine| s) - (|intloopProcess| n t +(defun |intloopProcessString| (currentline stepno) + (|setCurrentLine| currentline) + (|intloopProcess| stepno t (|next| #'|ncloopParse| - (|next| #'|lineoftoks| (|incString| s))))) + (|next| #'|lineoftoks| (|incString| currentline))))) \end{chunk} @@ -1204,9 +6354,11 @@ character. Otherwise, it returns nil. \defun{next}{next} \calls{next}{Delay} \calls{next}{next1} +\label{next} +\sig{next}{(Function,Delay)}{Delay} \begin{chunk}{defun next} -(defun |next| (f s) - (|Delay| #'|next1| (list f s))) +(defun |next| (function delay) + (|Delay| #'|next1| (list function delay))) \end{chunk} @@ -1214,23 +6366,29 @@ character. Otherwise, it returns nil. \calls{next1}{StreamNull} \calls{next1}{incAppend} \calls{next1}{next} +\label{next1} +\sig{next1}{Delay}{ParsePair} \begin{chunk}{defun next1} -(defun |next1| (&rest z) - (let (h s f) - (setq f (car z)) - (setq s (cadr z)) +(defun |next1| (&rest delayArg) + (let (h delay function) + (setq function (car delayArg)) + (setq delay (cadr delayArg)) (cond - ((|StreamNull| s) |StreamNil|) + ((|StreamNull| delay) |StreamNil|) (t - (setq h (apply f (list s))) - (|incAppend| (car h) (|next| f (cdr h))))))) + (setq h (apply function (list delay))) + (|incAppend| (car h) (|next| function (cdr h))))))) \end{chunk} \defun{incString}{incString} +The {\bf incString} function gets a string, usually from Axiom's input, +and constructs a set of nested function calls to process the input line. \calls{incString}{incRenumber} \calls{incString}{incLude} \uses{incString}{Top} +\label{incString} +\sig{incString}{String}{Function} \begin{chunk}{defun incString} (defun |incString| (s) (declare (special |Top|)) @@ -1342,6 +6500,12 @@ $current-directory = "/research/test/" \end{chunk} +\defdollar{current-directory} +\begin{chunk}{initvars} +(defvar |$currentLine| "" "A list of the input line history") + +\end{chunk} + \defun{setCurrentLine}{setCurrentLine} Remember the current line. The cases are: \begin{itemize} @@ -1352,10 +6516,9 @@ Remember the current line. The cases are: \item Is the input a string? Cons it on the end of the list. \item Otherwise stick it on the end of the list \end{itemize} -Note I suspect the last two cases do not occur in practice since -they result in a dotted pair if the input is not a cons. However, -this is what the current code does so I won't change it. \usesdollar{setCurrentLine}{currentLine} +\label{setCurrentLine} +\sig{setCurrentLine}{String}{List(String)} \begin{chunk}{defun setCurrentLine 0} (defun |setCurrentLine| (s) (declare (special |$currentLine|)) @@ -1377,8 +6540,10 @@ this is what the current code does so I won't change it. \usesdollar{mkprompt}{inputPromptType} \usesdollar{mkprompt}{IOindex} \usesdollar{mkprompt}{interpreterFrameName} +\label{mkprompt} +\sig{mkprompt}{Void}{String} \begin{chunk}{defun mkprompt} -(defun mkprompt () +(defun mkprompt () "Show the Axiom prompt" (declare (special |$inputPromptType| |$IOindex| |$interpreterFrameName|)) (case |$inputPromptType| @@ -1470,6 +6635,8 @@ this is what the current code does so I won't change it. \usesdollar{serverReadLine}{SpadServer} \uses{serverReadLine}{*eof*} \uses{serverReadLine}{in-stream} +\label{serverReadLine} +\sig{serverReadLine}{Stream}{String} \begin{chunk}{defun serverReadLine} (defun |serverReadLine| (stream) "used in place of READ-LINE in a Axiom server system." @@ -1492,6 +6659,7 @@ this is what the current code does so I won't change it. (when |$NeedToSignalSessionManager| (|sockSendInt| |$SessionManager| |$EndOfOutput|)) (setq |$NeedToSignalSessionManager| nil) + ; see bookvol8 for the constants that serverSwitch returns (setq action (|serverSwitch|)) (cond ((= action |$CallInterp|) @@ -2240,6 +7408,19 @@ sameUnionBranch(uArg, m) == \end{chunk} \defun{intloopProcess}{intloopProcess} +An example call looks like: +\begin{verbatim} + 3> (|intloopProcess| 1 T + (|nonnullstream| #0=|next1| |ncloopParse| + (|nonnullstream| #0# |lineoftoks| + (|nonnullstream| |incZip1| |incRenumberLine| + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) + (|nonnullstream| |incIgen1| 0))))) +\end{verbatim} +which was constructed \bfref{intloopProcessString}. This call +says we are processing the first input, in this case ``1''. +It is interactive. The third argument, the delay, contains the +information to drive the rest of the process. \calls{intloopProcess}{StreamNull} \calls{intloopProcess}{pfAbSynOp?} \calls{intloopProcess}{setCurrentLine} @@ -2248,25 +7429,27 @@ sameUnionBranch(uArg, m) == \calls{intloopProcess}{intloopSpadProcess} \callsdollar{intloopProcess}{systemCommandFunction} \usesdollar{intloopProcess}{systemCommandFunction} +\label{intloopProcess} +\sig{intloopProcess}{(StepNo,Boolean,Delay)}{StepNo} \begin{chunk}{defun intloopProcess} -(defun |intloopProcess| (n interactive s) +(defun |intloopProcess| (stepno interactive delay) (let (ptree lines t1) (declare (special |$systemCommandFunction|)) (cond - ((|StreamNull| s) n) + ((|StreamNull| delay) stepno) (t - (setq t1 (car s)) + (setq t1 (car delay)) (setq lines (car t1)) (setq ptree (cadr t1)) (cond ((|pfAbSynOp?| ptree '|command|) (when interactive (|setCurrentLine| (|tokPart| ptree))) (funcall |$systemCommandFunction| (|tokPart| ptree)) - (|intloopProcess| n interactive (cdr s))) + (|intloopProcess| stepno interactive (cdr delay))) (t (|intloopProcess| - (|intloopSpadProcess| n lines ptree interactive) - interactive (cdr s)))))))) + (|intloopSpadProcess| stepno lines ptree interactive) + interactive (cdr delay)))))))) \end{chunk} @@ -2628,6 +7811,8 @@ contiguous comment spanning enough lines to overflow the stack. \defun{incRenumber}{incRenumber} \calls{incRenumber}{incZip} \calls{incRenumber}{incIgen} +\label{incRenumber} +\sig{incRenumber}{Delay}{Delay} \begin{chunk}{defun incRenumber} (defun |incRenumber| (ssx) (|incZip| #'|incRenumberLine| ssx (|incIgen| 0))) @@ -2635,39 +7820,46 @@ contiguous comment spanning enough lines to overflow the stack. \end{chunk} \defun{incZip}{incZip} +Axiom ``zips'' a function together with two delays into a delay. \calls{incZip}{Delay} \calls{incZip}{incZip1} +\label{incZip} +\sig{incZip}{(Function,Delay,Delay)}{Delay} \begin{chunk}{defun incZip} -(defun |incZip| (g f1 f2) - (|Delay| #'|incZip1| (list g f1 f2))) +(defun |incZip| (function delay1 delay2) + (|Delay| #'|incZip1| (list function delay1 delay2))) \end{chunk} \defun{incZip1}{incZip1} \calls{incZip1}{StreamNull} \calls{incZip1}{incZip} +\label{incZip1} +\sig{incZip1}{Delay}{ParsePair} \begin{chunk}{defun incZip1} -(defun |incZip1| (&rest z) - (let (f2 f1 g) - (setq g (car z)) - (setq f1 (cadr z)) - (setq f2 (caddr z)) +(defun |incZip1| (&rest delayArg) + (let (function delay1 delay2) + (setq function (car delayArg)) + (setq delay1 (cadr delayArg)) + (setq delay2 (caddr delayArg)) (cond - ((|StreamNull| f1) |StreamNil|) - ((|StreamNull| f2) |StreamNil|) + ((|StreamNull| delay1) |StreamNil|) + ((|StreamNull| delay2) |StreamNil|) (t (cons - (funcall g (car f1) (car f2)) - (|incZip| g (cdr f1) (cdr f2))))))) + (funcall function (car delay1) (car delay2)) + (|incZip| function (cdr delay1) (cdr delay2))))))) \end{chunk} \defun{incIgen}{incIgen} \calls{incIgen}{Delay} \calls{incIgen}{incIgen1} +\label{incIgen} +\sig{incIgen}{Integer}{Delay} \begin{chunk}{defun incIgen} -(defun |incIgen| (n) - (|Delay| #'|incIgen1| (list n))) +(defun |incIgen| (int) + (|Delay| #'|incIgen1| (list int))) \end{chunk} @@ -2685,6 +7877,7 @@ contiguous comment spanning enough lines to overflow the stack. \defun{incRenumberLine}{incRenumberLine} \calls{incRenumberLine}{incRenumberItem} \calls{incRenumberLine}{incHandleMessage} +\label{incRenumberLine} \begin{chunk}{defun incRenumberLine} (defun |incRenumberLine| (xl gno) (let (l) @@ -2724,8 +7917,19 @@ contiguous comment spanning enough lines to overflow the stack. \end{chunk} \defun{incLude}{incLude} +This function takes +\begin{enumerate} +\item {\bf eb} -- in Integer +\item {\bf ss} -- a list of strings +\item {\bf ln} -- an Integer +\item {\bf ufos} -- a list of strings +\item {\bf states} -- a list of integers +\end{enumerate} +and constructs a call to \bfref{Delay}. \calls{incLude}{Delay} \calls{include}{incLude1} +\label{incLude} +\sig{incLude}{(Int,List(String),Int,List(String),List(Int)}{Delay} \begin{chunk}{defun incLude} (defun |incLude| (eb ss ln ufos states) (|Delay| #'|incLude1| (list eb ss ln ufos states))) @@ -3526,6 +8730,7 @@ b ==> 7 \end{verbatim} \calls{incClassify}{incCommand?} \uses{incClassify}{incCommands} +\label{incClassify} \begin{chunk}{defun incClassify} (defun |incClassify| (s) (let (p1 bad eb n i) @@ -3572,6 +8777,8 @@ b ==> 7 \defun{incCommand?}{incCommand?} \calls{incCommand?}{char} +\label{incCommand?} +\sig{incCommand?}{String}{Boolean} \begin{chunk}{defun incCommand? 0} (defun |incCommand?| (s) "does this start with a close paren?" @@ -3683,9 +8890,23 @@ Note that incRgen1 recursively calls this function. \end{chunk} \defun{Delay}{Delay} +{\bf Delay} prepends a label {\bf nonnullstream}, returning a list +of the label, the given function name in {\bf function} +and {\bf arguments}. That is, given +\begin{verbatim} + (|Delay| |incLude1| (0 ("1") 0 ("strings") (1))) +\end{verbatim} +construct +\begin{verbatim} + (|nonnullstream| |incLude1| 0 ("1") 0 ("strings") (1)) +\end{verbatim} +Note that {\bf nonnullstream} is NOT a function so the inputs +have been changed from a function call to a simple list. +\label{Delay} +\sig{Delay}{(Function,List(Any))}{Delay} \begin{chunk}{defun Delay 0} -(defun |Delay| (f x) - (cons '|nonnullstream| (cons f x))) +(defun |Delay| (function arguments) + (cons '|nonnullstream| (cons function arguments))) \end{chunk} @@ -3992,6 +9213,7 @@ returning the token-dq and the rest of the line-stream \usesdollar{lineoftoks}{r} \usesdollar{lineoftoks}{n} \usesdollar{lineoftoks}{ln} +\label{lineoftoks} \begin{chunk}{defun lineoftoks} (defun |lineoftoks| (s) (let (|$floatok| |$sz| |$n| |$linepos| |$ln| |$r| |$f| |b| |a| |toks|) @@ -11995,21 +17217,23 @@ explains the strange parsing technique). \defun{StreamNull}{StreamNull} \calls{StreamNull}{eqcar} +\label{StreamNull} +\sig{StreamNull}{Delay}{Union(T,NIL)} \begin{chunk}{defun StreamNull 0} -(defun |StreamNull| (x) - (let (st) +(defun |StreamNull| (delay) + (let (parsepair) (cond - ((or (null x) (eqcar x '|nullstream|)) t) + ((or (null delay) (eqcar delay '|nullstream|)) t) (t ((lambda nil (loop (cond - ((not (eqcar x '|nonnullstream|)) (return nil)) + ((not (eqcar delay '|nonnullstream|)) (return nil)) (t - (setq st (apply (cadr x) (cddr x))) - (rplaca x (car st)) - (rplacd x (cdr st))))))) - (eqcar x '|nullstream|))))) + (setq parsepair (apply (cadr delay) (cddr delay))) + (rplaca delay (car parsepair)) + (rplacd delay (cdr parsepair))))))) + (eqcar delay '|nullstream|))))) \end{chunk} @@ -12957,8 +18181,7 @@ org prints out the word noposition or console \usesdollar{toFile?}{fn} \begin{chunk}{defun toFile?} (defun |toFile?| (msg) - (declare (special |$fn|)) - (and (consp |$fn|) (not (eq (|getMsgToWhere| msg) '|screenOnly|)))) + (and (not (eq (|getMsgToWhere| msg) '|screenOnly|)))) \end{chunk} @@ -17498,6 +22721,7 @@ for processing \verb|)read| of input files. \calls{ncloopCommand}{ncloopInclude1} \callsdollar{ncloopCommand}{systemCommandFunction} \usesdollar{ncloopCommand}{systemCommandFunction} +\label{ncloopCommand} \begin{chunk}{defun ncloopCommand} (defun |ncloopCommand| (line n) (let (a) @@ -55018,7 +60242,7 @@ curoutstream & ncIntLoop & \\ \$displayStartMsgs & & restart \\ \$e & ncTopLevel & \\ \$erMsgToss & SpadInterpretStream & \\ -\$fn & SpadInterpretStream & \\ + & SpadInterpretStream & \\ \$frameRecord & initvars & \\ & clearFrame & \\ & undoSteps & undoSteps \\ @@ -55106,11 +60330,6 @@ This variable is used in the undo mechanism. \subsection{\$erMsgToss} The \verb|$erMsgToss| variable is set to NIL in SpadInterpretStream. -\subsection{\$fn} -The \verb|$fn| variable is set in SpadInterpretStream. It is set to -the second argument which is a list. It appears that this list has the -same structure as an argument to the LispVM rdefiostream function. - \subsection{\$frameRecord} \verb|$frameRecord = [delta1, delta2,... ]| where delta(i) contains changes in the ``backwards'' direction. diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet index e7f754a..b4af2ce 100644 --- a/books/bookvol9.pamphlet +++ b/books/bookvol9.pamphlet @@ -22613,6 +22613,8 @@ Return a pointer to the Nth cons of X, counting 0 as the first cons. \defun{is-console}{is-console} \calls{is-console}{fp-output-stream} \uses{is-console}{*terminal-io*} +\label{is-console} +\sig{is-console}{Stream}{Boolean} \begin{chunk}{defun is-console} (defun is-console (stream) (and (streamp stream) (output-stream-p stream) @@ -25784,6 +25786,11 @@ symbol in the free list are represented by the alist (symbol . count) \seebook{ncINTERPFILE}{SpadInterpretStream}{5} \usesdollar{ncINTERPFILE}{EchoLines} \usesdollar{ncINTERPFILE}{ReadingFile} +The {\bf SpadInterpretStream} function call takes three arguments. +The first argument +The second argument {\bf source} is the name of a file to include. +The third argument {\bf interactive?}, when false, will read from the +file rather than the console. \begin{chunk}{defun ncINTERPFILE} (defun |ncINTERPFILE| (file echo) (let ((|$EchoLines| echo) (|$ReadingFile| t)) diff --git a/changelog b/changelog index 760fae0..c666902 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,7 @@ +20140914 tpd src/axiom-website/patches.html 20140914.03.tpd.patch +20140914 tpd src/interp/vmlisp add signatures +20140914 tpd books/bookvol9 add signatures +20140914 tpd books/bookvol5 begin documenting the interpreter 20140914 tpd src/axiom-website/patches.html 20140914.02.tpd.patch 20140914 tpd books/axiom.sty add \sig and \bfref 20140914 tpd src/axiom-website/patches.html 20140914.01.tpd.patch diff --git a/patch b/patch index 9d004e3..9c6ddde 100644 --- a/patch +++ b/patch @@ -1,12 +1,3 @@ -books/axiom.sty add \sig and \bfref +books/bookvol5, bookvol9.pamphlet, vmlisp.lisp add documentation - \sig{foo}{(String,Integer)}{Boolean} -will generate an Axiom-like signature line, e.g. - foo : (String,Integer) -> Boolean -in the pdf - - \bfref{foo} -generates an inline link to the function definition -which is useful in explanations. e.g. - foo (4.3) -where 'foo' is in bold font and 4.3 is a hyperlink. +Begin documenting the interpreter. diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 8234f7f..b16081c 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4638,6 +4638,8 @@ books/axiom.sty add the sig markup
books/bookvolbib add Kaltofen references
20140914.02.tpd.patch books/axiom.sty add \sig and \bfref
+20140914.03.tpd.patch +books/bookvol5 begin documenting the interpreter
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp.pamphlet index 972d284..fb7acc1 100644 --- a/src/interp/vmlisp.lisp.pamphlet +++ b/src/interp/vmlisp.lisp.pamphlet @@ -1319,6 +1319,10 @@ and works properly. (defun PLACEP (item) (eq item *read-place-holder*)) (defun VMREAD (&optional (st *standard-input*) (eofval *read-place-holder*)) (read st nil eofval)) + +\end{chunk} +\sig{read-line}{Stream}{String} +\begin{chunk}{*} (defun |read-line| (st &optional (eofval *read-place-holder*)) (read-line st nil eofval)) @@ -2159,7 +2163,6 @@ do the compile, and then rename the result back to code.o. (def-boot-var |$createUpdateFiles| "Interpreter>SetVarT.boot") (def-boot-var |$croakIfTrue| "See moan in U.") (def-boot-var |$currentFunction| "???") -(def-boot-val |$currentLine| "" "current input line for history") (def-boot-val $delay 0 "???") (def-boot-var $Directory "???") (def-boot-val |$Domain| '(|Domain|) "???")