diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index fb3483a..2cecfd5 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -91,9 +91,9 @@ Axiom has a very long history and many people have contributed to the effort, some in large ways and some in small ways. Any and all effort deserves recognition. There is no other criteria than contribution of effort. We would like to acknowledge and thank the following people: -\defvar{credits} +\defvar{creditlist} \begin{chunk}{initvars} -(defvar credits '( +(defvar creditlist '( "An alphabetical listing of contributors to AXIOM:" "Michael Albaugh Cyril Alberga Roy Adler" "Christian Aistleitner Richard Anderson George Andrews" @@ -206,8 +206,6 @@ listed here along with explanations. \section{The global variables} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{current-directory} - The \verb|$current-directory| variable is set to the current directory at startup. This is used by the \verb|)cd| function and some of the compile routines. This is the result of the \refto{get-current-directory} @@ -226,8 +224,6 @@ $current-directory = "/research/test/" \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{defaultMsgDatabaseName} - The \verb|$defaultMsgDatabaseName| variable contains the location of the international message database. This can be changed to use a translated version of the messages. It defaults to the United States English version. @@ -251,10 +247,8 @@ An example of a runtime value is: \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{directory-list} - The \verb|$directory-list| is a runtime list of absolute pathnames. -This list is generated by the \refto{reroot} function from the list of +This list is generated by \refto{reroot} from the list of relative paths held in the variable \verb|$relative-directory-list|. Each entry will be prefixed by \verb|$spadroot|. @@ -276,8 +270,6 @@ $directory-list = \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{InitialModemapFrame} - The \verb|$InitialModemapFrame| is used as the initial value. See the function \fnref{makeInitialModemapFrame}. @@ -294,11 +286,9 @@ $InitialModemapFrame = '((nil)) \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{library-directory-list} - The \verb|$library-directory-list| variable is the system-wide search -path for library files. It is set up in the \refto{reroot} function by -prepending the \verb|$spadroot| variable to the +path for library files. \refto{reroot} +prepends the \verb|$spadroot| variable to the \verb|$relative-library-directory-list| variable. An example of a runtime value is: @@ -313,8 +303,6 @@ $library-directory-list = ("/research/test/mnt/ubuntu/algebra/") \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{msgDatabaseName} - The \verb|$msgDatabaseName| is a locally shared variable among the message database routines. @@ -330,8 +318,6 @@ An example of a runtime value is: \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{openServerIfTrue} - The \verb|$openServerIfTrue| It appears to control whether the interpreter will be used as an open server, probably for OpenMath use. @@ -351,8 +337,6 @@ $openServerIfTrue = nil \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{relative-directory-list} - The \verb|$relative-directory-list| variable contains a hand-generated list of directories used in the Axiom system. The relative directory list specifies a search path for files for the current directory @@ -385,8 +369,6 @@ $relative-directory-list = \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{relative-library-directory-list} - The \verb|$relative-library-directory-list| is a hand-generated list of directories containing algebra. The \refto{reroot} function will prefix every path in this list with the value of the \verb|$spadroot| variable @@ -404,8 +386,6 @@ $relative-library-directory-list = ("/algebra/") \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{spadroot} - The \verb|$spadroot| variable is the internal name for the AXIOM shell variable. It is set in reroot to the value of the argument. The value is expected to be a directory name. The \refto{initroot} function @@ -425,8 +405,6 @@ $spadroot = "/research/test/mnt/ubuntu" \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{SpadServer} - The \verb|$SpadServer| determines whether Axiom acts as a remote server. See the function \fnref{openserver}. @@ -443,8 +421,6 @@ $SpadServer = nil \end{chunk} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\defdollar{SpadServerName} - The \verb|$SpadServerName| defines the name of the spad server socket. In unix these exist in the tmp directory as names. @@ -461,6 +437,22 @@ $SpadServerName = "/tmp/.d" \end{chunk} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +The \verb|$IOindex| variable is the number associated with the input prompt. +Every successful expression evaluated increments this number until a +\verb|)clear all| resets it. Here we set it to the initial value. + +An example of a runtime value is: +\begin{verbatim} +$IOindex = 1 +\end{verbatim} + +\defdollar{IOindex} +\begin{chunk}{initvars} +(defvar $IOindex 1 "The current Axiom prompt number") + +\end{chunk} + \chapter{Starting Axiom} Axiom starts by invoking a function value of the lisp symbol \verb|*top-level-hook*|. The function invocation path to from this @@ -518,10 +510,6 @@ The \fnref{openserver} function tried to set up the socket connection used for things like hyperdoc. The \verb|$openServerIfTrue| variable starts true, which implies trying to start a server. -The \verb|$IOindex| variable is the number associated with the input prompt. -Every successful expression evaluated increments this number until a -\verb|)clear all| resets it. Here we set it to the initial value. - Axiom has multiple frames that contain independent information about a computation. There can be several frames at any one time and you can shift back and forth between the frames. By default, the system starts @@ -557,7 +545,7 @@ information is initialized. \calls{restart}{readSpadProfileIfThere} \calls{restart}{spad} \usesdollar{restart}{openServerIfTrue} -\usesdollar{restart}{SpadServername} +\usesdollar{restart}{SpadServerName} \usesdollar{restart}{SpadServer} \usesdollar{restart}{IOindex} \usesdollar{restart}{InteractiveFrame} @@ -858,7 +846,7 @@ suppressed and input does not use piles. If this is true then the library loading routines might output messages and piles are expected on input (as from a file). \end{list} -The system commands are handled by the function kept in the ``hook'' +System commands are handled by the function in the ``hook'' variable \verb|$systemCommandFunction| which has the default function \verb|InterpExecuteSpadSystemCommand|. Thus, when a system command is entered this function is called. @@ -2404,7 +2392,7 @@ sameUnionBranch(uArg, m) == \end{chunk} \defun{phParse}{phParse} -\tpdhere{The pform function has a leading percent sign. fix this} +\tpdhere{The pform function has a leading percent sign} \begin{verbatim} phParse: carrier[tokens,...] -> carrier[ptree, tokens,...] \end{verbatim} @@ -3770,7 +3758,6 @@ Note that incRgen1 recursively calls this function. \end{chunk} -\defvar{StreamNil} \begin{chunk}{postvars} (eval-when (eval load) (setq |StreamNil| (list '|nullstream|))) @@ -7558,7 +7545,7 @@ fn must transform the head of the stack \end{chunk} -\defvar{npPParg} +\defdollar{npTokToNames} \begin{chunk}{initvars} (defvar |$npTokToNames| (list '~ '|#| '[] '{} '|[\|\|]| '|{\|\|}|)) @@ -8191,7 +8178,7 @@ This was rewritten by NAG to remove flet. \section{Macro handling} \defun{phMacro}{phMacro} -\tpdhere{The pform function has a leading percent sign. fix this} +\tpdhere{The pform function has a leading percent sign} \begin{verbatim} carrier[ptree,...] -> carrier[ptree, ptreePremacro,...] \end{verbatim} @@ -8502,7 +8489,7 @@ Returns [sy, state] or NIL. \end{chunk} \defun{macMacro}{Add appropriate definition the a Macro pform} -This function adds the appropriate definition and returns +This function adds the definition and returns the original Macro pform. \tpdhere{The pform function has a leading percent sign. fix this} \calls{macMacro}{pfMacroLhs} @@ -11880,12 +11867,6 @@ This is used for debugging \end{chunk} -\defdollar{msgDatabaseName} -\begin{chunk}{initvars} -(defvar |$msgDatabaseName| nil) - -\end{chunk} - \defdollar{testingErrorPrefix} \begin{chunk}{initvars} (defvar |$testingErrorPrefix| "Daly Bug") @@ -14892,7 +14873,6 @@ where feature is one of: \end{chunk} \section{syntax while} -\label{while} \index{while} \index{syntax!while} \index{while!syntax} @@ -16336,7 +16316,7 @@ You can type ``)? compile'' and see compiler related information \end{chunk} \defun{commandsForUserLevel}{Select commands matching this user level} -The \verb|$UserLevel| variable contains one of three values: +The \verb|$UserLevel| contains one of three values: {\tt compiler}, {\tt development}, or {\tt interpreter}. This variable is used to select a subset of commands from the list stored in \verb|$systemCommands|, representing all of the commands that are @@ -17558,7 +17538,7 @@ during a session are pushed onto this list for later lookup. \defun{ncloopCommand}{ncloopCommand} The \$systemCommandFunction is set in SpadInterpretStream to point to the function InterpExecuteSpadSystemCommand. -The system commands are handled by the function kept in the ``hook'' +The system commands are handled by the function in the ``hook'' variable \verb|$systemCommandFunction| which has the default function \verb|InterpExecuteSpadSystemCommand|. Thus, when a system command is entered this function is called. @@ -17903,7 +17883,7 @@ Most responses contain the fields: \section{Browsers, MathML, and Fonts} This work has the Firefox browser as its target. Firefox has built-in -support for MathML, javascript, and XMLHttpRequest handling. More details +support for MathML, javascript, and XMLHttpRequests. More details are available in bookvol11.pamphlet but the very basic machinery for communication with the browser involves a dance between the browser and the multiServ function (see the axserver.spad.pamphlet). @@ -19079,7 +19059,7 @@ verbatim. This will eventually result in a call to the function \begin{chunk}{defun credits 0} (defun |credits| () (declare (special credits)) - (mapcar #'(lambda (x) (princ x) (terpri)) credits)) + (mapcar #'(lambda (x) (princ x) (terpri)) creditlist)) \end{chunk} @@ -22095,7 +22075,7 @@ RREAD takes erroval to return if key is missing \end{chunk} \defun{writifyComplain}{writifyComplain} -Create a full isomorphic object which can be saved in a lisplib. Note +Create a full isomorphic object to be saved in a lisplib. Note that {\tt dewritify(writify(x))} preserves UEQUALity of hashtables. HASHTABLEs go both ways. READTABLEs cannot presently be transformed back. @@ -23827,7 +23807,7 @@ example: (interpreter compiler development) development) \end{verbatim} -The list looks like (the names in bold are accessor names that can be +The list contains (the names in bold are accessor names that can be found in {\bf property.lisp.pamphlet\cite{1}}. Look for "setName".): \begin{list}{} \item {\bf 1} {\sl Name} the keyword the user will see. In this example @@ -30087,8 +30067,8 @@ which, because ``message'' is a TREE, generates the recursive call: \begin{verbatim} (set1 (|auto| |off|) ) \end{verbatim} -The ``autoload'' subtree is a FUNCTION (printLoadMessages), -which gets called with \verb|%describe%| +The ``autoload'' subtree contains a FUNCTION called +printLoadMessages, which gets called with \verb|%describe%| \calls{set1}{displaySetVariableSettings} \calls{set1}{seq} \calls{set1}{exit} @@ -31388,10 +31368,10 @@ This decides when to give trace and untrace messages. \end{chunk} -\defdollar{reportSpadTrace} +\defdollar{reportSpadtrace} This reports the traced functions \begin{chunk}{initvars} -(defvar |$reportSpadTrace| nil) +(defvar |$reportSpadtrace| nil) \end{chunk} @@ -32659,7 +32639,7 @@ This reports the traced functions currentalist opstructurelist sig kind triple fn op mm n alias tracename sigslotnumberalist) (declare (special |$tracedModemap| /tracenames |$fromSpadTrace| |$letAssoc| - |$reportSpadTrace| |$traceNoisely|)) + |$reportSpadtrace| |$traceNoisely|)) (setq |$fromSpadTrace| t) (setq |$tracedModemap| nil) (cond @@ -32777,7 +32757,7 @@ This reports the traced functions (exit (cond ((cdddr x) (setq t10 (cons x t10)))))))))) (cond - (|$reportSpadTrace| + (|$reportSpadtrace| (cond (|$traceNoisely| (|printDashedLine|))) (do ((t12 (|orderBySlotNumber| sigslotnumberalist) (cdr t12)) (x nil)) @@ -34462,7 +34442,7 @@ separately, it is possible to undo to either BEFORE or AFTER the command. These special delta(i)s are given ONLY when a a system command is given which alters the environment. -Note: recordFrame('system) is called before a command is executed, and +recordFrame('system) is called before a command is executed, and recordFrame('normal) is called after (see processInteractive1). If no changes are found for former, no special entry is given. @@ -34495,9 +34475,9 @@ $previousBindings := nil \end{chunk} -\defdollar{reportUndo} +\defdollar{reportundo} \begin{chunk}{initvars} -(defvar |$reportUndo| nil "t means we report the steps undo takes") +(defvar |$reportundo| nil "t means we report the steps undo takes") \end{chunk} \defun{undo}{undo} @@ -34637,7 +34617,7 @@ diffAlist(new,old) == -- (2) if the new world has a proplist for that variable, it has -- been handled by the first loop. res := NREVERSE acc - if BOUNDP '$reportUndo and $reportUndo then reportUndo res + if BOUNDP '$reportundo and $reportundo then reportUndo res res \end{verbatim} \calls{diffAlist}{assq} @@ -34747,13 +34727,13 @@ diffAlist(new,old) == (setq acc (cons oldPair acc)))))))) (setq res (nreverse acc)) (cond - ((and (boundp '|$reportUndo|) |$reportUndo|) + ((and (boundp '|$reportundo|) |$reportundo|) (|reportUndo| res))) (exit res))))))) \end{chunk} \defun{reportUndo}{reportUndo} -This function is enabled by setting \verb|$reportUndo| to a non-nil value. +This function is enabled by setting \verb|$reportundo| to a non-nil value. An example of the output generated is: \begin{verbatim} r := binary(22/7) @@ -34779,7 +34759,7 @@ Properties of r :: \calls{reportUndo}{lassoc} \calls{reportUndo}{sayBrightlyNT} \calls{reportUndo}{pp} -\usesdollar{reportUndo}{InteractiveFrame} +\usesdollar{reportundo}{InteractiveFrame} \begin{chunk}{defun reportUndo} (defun |reportUndo| (acc) (prog (name proplist curproplist prop value) @@ -36790,7 +36770,7 @@ tables already contain all of the information). When the database is built the time stamp is saved in both the gcl image and the database. -Regarding the 'ancestors field for a category: At database build +Regarding the 'ancestors field in a category: At database build time there exists a *ancestors-hash* hash table that gets filled with CATEGORY (not domain) ancestor information. This later provides the information that goes into interp.daase This *ancestors-hash* @@ -38729,6 +38709,7 @@ database format. \end{chunk} \chapter{System Statistics} +\defun{statisticsInitialization}{statisticsInitialization} \calls{statisticsInitialization}{gbc-time} \begin{chunk}{defun statisticsInitialization} (defun |statisticsInitialization| () @@ -41676,7 +41657,7 @@ OMstatus OMgetBigIntN(OMdev dev, char *data, int len, int *sign, \item \verb+OMstatus OMgetSymbol(OMdev dev, char **cd, char **name)+ \item \begin{verbatim} -OMstatus OMgetSymbolN(OMdev dev, char *cd, int clen, char *name, int nlen) +OMstatus OMgetSymbolN(OMdev dev,char *cd,int clen,char *name,int nlen) \end{verbatim} \end{itemize} The functions that return variable size data exist in two versions. A simple @@ -41951,7 +41932,7 @@ OMstatus OMlaunchEnv(OMconn conn, char *machine, char *command, char *env) \item \verb+OMstatus OMserveClient(OMconn conn)+ \end{itemize} -The environment variables passed to the server (launched program) are +The environment variables sent to the server (launched program) are {\verb+OM_CALLER_UNIX_SOCKET+} (when a local connection is required) and {\verb+OM_CALLER_MACHINE+} and {\verb+OM_CALLER_PORT+} (for internet connections). @@ -41998,10 +41979,10 @@ All memory allocations and deallocations in the library are done through the \section{Miscellaneous Functions and Variables} \begin{itemize} -\item \verb+char *OMstatusToString(OMstatus status)+ converts a status to a +\item \verb+char *OMstatusToString(OMstatus status)+ make a status into a human readable string. -\item \verb+char *OMtokenTypeToString(OMtokenType ttype)+ converts a -{\tt tokenType} to a human readable string. +\item \verb+char *OMtokenTypeToString(OMtokenType ttype)+ makes a +{\tt tokenType} into a human readable string. \item \verb+OMencodingType OMgetDeviceEncoding(OMdev dev)+ returns the encoding actually used by the device. \item \verb+char *OMlibDynamicInfo(void)+ @@ -45760,7 +45741,7 @@ curoutstream & ncIntLoop & \\ & clearFrame & \\ & recordFrame & recordFrame \\ \$PrintCompilerMessageIfTrue & spad & \\ -\$reportUndo & initvars & diffAlist \\ +\$reportundo & initvars & diffAlist \\ \$spad & ncTopLevel & \\ \$SpadServer & restart & \\ \$SpadServerName & initvars & restart \\ @@ -45821,7 +45802,7 @@ separately, it is possible to undo to either BEFORE or AFTER the command. These special delta(i)s are given ONLY when a a system command is given which alters the environment. -Note: recordFrame('system) is called before a command is executed, and +recordFrame('system) is called before a command is executed, and recordFrame('normal) is called after (see processInteractive1). If no changes are found for former, no special entry is given. @@ -45889,7 +45870,8 @@ The \verb|$interpreterFrameRing| is set to a pair whose car is set to the result of emptyInterpreterFrame \subsection{\$InteractiveFrame} -The \verb|$InteractiveFrame| is set in restart to the value of the +The \verb|$InteractiveFrame| is set in the restart function +to the value of the call to the makeInitialModemapFrame function. This function simply returns a copy of the variable \verb|$InitialModemapFrame| @@ -45974,8 +45956,8 @@ This is part of the undo mechanism. \subsection{\$PrintCompilerMessageIfTrue} The \verb|$PrintCompilerMessageIfTrue| variable is set to NIL in spad. -\subsection{\$reportUndo} -The \verb|$reportUndo| variable is used in diffAlist. It was not normally +\subsection{\$reportundo} +The \verb|$reportundo| variable is used in diffAlist. It was not normally bound but has been set to T in initvars. If the variable is set to T then we call reportUndo. diff --git a/changelog b/changelog index a9e7338..a2fffa4 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20130313 tpd src/axiom-website/patches.html 20130313.02.tpd.patch +20130313 tpd books/bookvol5 fix references 20130313 tpd src/axiom-website/patches.html 20130313.01.tpd.patch 20130313 tpd buglist complete console review and classify 20130307 tpd src/axiom-website/patches.html 20130307.02.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index f1cfb5e..60eb4b7 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -4017,5 +4017,7 @@ books/bookvol10.* fix help documentation and regression tests books/bookvol4 clean up latex, document makeHelpFiles 20130313.01.tpd.patch buglist complete console review and classify +20130313.02.tpd.patch +books/bookvol5 fix references