diff options
36 files changed, 1836 insertions, 35 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2009-04-15. +# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2009-04-17. # # Report bugs to <open-axiom-bugs@lists.sf.net>. # @@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.3.0-2009-04-15' -PACKAGE_STRING='OpenAxiom 1.3.0-2009-04-15' +PACKAGE_VERSION='1.3.0-2009-04-17' +PACKAGE_STRING='OpenAxiom 1.3.0-2009-04-17' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' ac_unique_file="src/Makefile.pamphlet" @@ -1406,7 +1406,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.3.0-2009-04-15 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.3.0-2009-04-17 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1476,7 +1476,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-04-15:";; + short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-04-17:";; esac cat <<\_ACEOF @@ -1580,7 +1580,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.3.0-2009-04-15 +OpenAxiom configure 1.3.0-2009-04-17 generated by GNU Autoconf 2.60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1594,7 +1594,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.3.0-2009-04-15, which was +It was created by OpenAxiom $as_me 1.3.0-2009-04-17, which was generated by GNU Autoconf 2.60. Invocation command line was $ $0 $@ @@ -26808,7 +26808,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.3.0-2009-04-15, which was +This file was extended by OpenAxiom $as_me 1.3.0-2009-04-17, which was generated by GNU Autoconf 2.60. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -26857,7 +26857,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenAxiom config.status 1.3.0-2009-04-15 +OpenAxiom config.status 1.3.0-2009-04-17 configured by $0, generated by GNU Autoconf 2.60, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 82f1b5ce..a3a2abf9 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2009-04-15], +AC_INIT([OpenAxiom], [1.3.0-2009-04-17], [open-axiom-bugs@lists.sf.net]) AC_CONFIG_AUX_DIR(config) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index ef055f30..706f4762 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -1131,7 +1131,7 @@ information: <<Autoconf init>>= sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2009-04-15], +AC_INIT([OpenAxiom], [1.3.0-2009-04-17], [open-axiom-bugs@lists.sf.net]) @ diff --git a/src/ChangeLog b/src/ChangeLog index e20f0f34..172ef0e5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2009-04-18 Gabriel Dos Reis <gdr@cs.tamu.edu> + + Fix SF/2757715 + * Makefile.pamphlet (all-input): Make all-doc a requirement. + (all-doc): Tidy. + * doc/Makefile.in: Likewise. Install help files. + * doc/help: New. Home for help files. + 2009-04-16 Gabriel Dos Reis <gdr@cs.tamu.edu> Fix SF/2763053 diff --git a/src/Makefile.in b/src/Makefile.in index bdbdfbe0..825c0b29 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -34,7 +34,7 @@ all-share: $(mkdir_p) "$(axiom_target_libdir)" cd share && $(MAKE) $@ all-doc: - cd doc && $(MAKE) $@ + $(mkdir_p) "$(axiom_target_docdir)"/help && cd doc && $(MAKE) $@ all-lib: @cd lib && $(MAKE) $@ all-lisp: all-lib @@ -52,7 +52,7 @@ all-algebra: all-interpsys all-share all-hyper-pre all-hyper-pre: all-lib cd hyper && $(MAKE) all-hyper-pre -all-input: all-axiomsys +all-input: all-axiomsys all-doc cd input && ${MAKE} all-asq: all-hyper-post cd etc && $(MAKE) $@ diff --git a/src/Makefile.pamphlet b/src/Makefile.pamphlet index eca2e764..296d3608 100644 --- a/src/Makefile.pamphlet +++ b/src/Makefile.pamphlet @@ -199,7 +199,7 @@ test input files are compared against known good results to ensure that nothing has been broken in the process of fixing bugs. <<inputdir>>= -all-input: all-axiomsys +all-input: all-axiomsys all-doc cd input && ${MAKE} @ @@ -227,7 +227,7 @@ The \File{doc/} directory contains code used for documenting Axiom. <<docdir>>= all-doc: - cd doc && $(MAKE) $@ + $(mkdir_p) "$(axiom_target_docdir)"/help && cd doc && $(MAKE) $@ @ \subsection{The \File{graph/} directory} diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in index 96b6fe31..31b56941 100644 --- a/src/doc/Makefile.in +++ b/src/doc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007, Gabriel Dos Reis. +# Copyright (C) 2007-2009, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -31,24 +31,14 @@ IN=$(axiom_src_srcdir)/doc -MID=./$(top_builddir)/int/doc -OUT=$(axiom_target_bindir) +OUT=$(axiom_target_docdir) STY=${OUT}/tex -DVI=$(axiom_target_docdir) -DOC=./$(top_builddir)/int/doc subdir = src/doc/ -pamphlets = axiom.sty.pamphlet \ - axiom.bib.pamphlet \ - DeveloperNotes.pamphlet \ - Rosetta.pamphlet \ - $(booklet_SOURCES) +pamphlets = -FILES= ${MID}/axiom.bib ${STY}/axiom.sty \ - ${DVI}/book.dvi ${DVI}/bookvol1.dvi ${DVI}/endpaper.dvi - -CMDS=$(axiom_target_bindir)/booklet +HELPFILES = $(wildcard $(IN)/help/*.help) .PHONY: all all-doc all: all-ax @@ -56,17 +46,17 @@ all: all-ax all-ax all-doc: stamp @echo 9 finished $(builddir) -stamp: ${CMDS} +$(OUT)/help/%.help: $(IN)/help/%.help + cp -p $< $@ + +stamp: $(patsubst $(IN)/help/%.help,$(OUT)/help/%.help,$(HELPFILES)) -rm -f stamp $(STAMP) stamp -dvi-local: $(FILES) +dvi-local: mostlyclean-local: - -rm -f $(booklet_objects) clean-local: mostlyclean-local - -rm -f $(axiom_target_bindir)/booklet - -rm -f $(booklet_sources) distclean-local: clean-local diff --git a/src/doc/help/abbreviation.help b/src/doc/help/abbreviation.help new file mode 100644 index 00000000..b43de163 --- /dev/null +++ b/src/doc/help/abbreviation.help @@ -0,0 +1,77 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.2. )abbreviation +============================================================================== + +User Level Required: compiler + +Command Syntax: + + - )abbreviation query [nameOrAbbrev] + - )abbreviation category abbrev fullname [)quiet] + - )abbreviation domain abbrev fullname [)quiet] + - )abbreviation package abbrev fullname [)quiet] + - )abbreviation remove nameOrAbbrev + +Command Description: + +This command is used to query, set and remove abbreviations for category, +domain and package constructors. Every constructor must have a unique +abbreviation. This abbreviation is part of the name of the subdirectory under +which the components of the compiled constructor are stored. Furthermore, by +issuing this command you let the system know what file to load automatically +if you use a new constructor. Abbreviations must start with a letter and then +be followed by up to seven letters or digits. Any letters appearing in the +abbreviation must be in uppercase. + +When used with the query argument, this command may be used to list the name +associated with a particular abbreviation or the abbreviation for a +constructor. If no abbreviation or name is given, the names and corresponding +abbreviations for all constructors are listed. + +The following shows the abbreviation for the constructor List: + +)abbreviation query List + +The following shows the constructor name corresponding to the abbreviation +NNI: + +)abbreviation query NNI + +The following lists all constructor names and their abbreviations. + +)abbreviation query + +To add an abbreviation for a constructor, use this command with category, +domain or package. The following add abbreviations to the system for a +category, domain and package, respectively: + +)abbreviation domain SET Set +)abbreviation category COMPCAT ComplexCategory +)abbreviation package LIST2MAP ListToMap + +If the )quiet option is used, no output is displayed from this command. You +would normally only define an abbreviation in a library source file. If this +command is issued for a constructor that has already been loaded, the +constructor will be reloaded next time it is referenced. In particular, you +can use this command to force the automatic reloading of constructors. + +To remove an abbreviation, the remove argument is used. This is usually only +used to correct a previous command that set an abbreviation for a constructor +name. If, in fact, the abbreviation does exist, you are prompted for +confirmation of the removal request. Either of the following commands will +remove the abbreviation VECTOR2 and the constructor name VectorFunctions2 +from the system: + +)abbreviation remove VECTOR2 +)abbreviation remove VectorFunctions2 + +Also See: +o )compile + diff --git a/src/doc/help/boot.help b/src/doc/help/boot.help new file mode 100644 index 00000000..2e6cd7e8 --- /dev/null +++ b/src/doc/help/boot.help @@ -0,0 +1,33 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.3. )boot +============================================================================== + +User Level Required: development + +Command Syntax: + + - )boot bootExpression + +Command Description: + +This command is used by OpenAxiom system developers to execute expressions +written in the Boot language. For example, + +)boot times3(x) == 3*x + +creates and compiles the Lisp function ``times3'' obtained by translating the +Boot code. + +Also See: +o )fin +o )lisp +o )set +o )system + diff --git a/src/doc/help/cd.help b/src/doc/help/cd.help new file mode 100644 index 00000000..8eb741e0 --- /dev/null +++ b/src/doc/help/cd.help @@ -0,0 +1,41 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.4. )cd +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )cd directory + +Command Description: + +This command sets the OpenAxiom working current directory. The current +directory is used for looking for input files (for )read), OpenAxiom +library source files (for )compile), saved history environment files +(for )history )restore), compiled OpenAxiom library files (for +)library), and files to edit (for )edit). It is also used for writing +spool files (via )spool), writing history input files (via )history +)write) and history environment files (via )history )save), and +compiled OpenAxiom library files (via )compile). + +If issued with no argument, this command sets the OpenAxiom current +directory to your home directory. If an argument is used, it must be a +valid directory name. Except for the ``)'' at the beginning of the +command, this has the same syntax as the operating system cd command. + +Also See: +o )compile +o )edit +o )history +o )library +o )read +o )spool + diff --git a/src/doc/help/clear.help b/src/doc/help/clear.help new file mode 100644 index 00000000..f5e19db1 --- /dev/null +++ b/src/doc/help/clear.help @@ -0,0 +1,87 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.6. )clear +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )clear all + - )clear completely + - )clear properties all + - )clear properties obj1 [obj2 ...] + - )clear value all + - )clear value obj1 [obj2 ...] + - )clear mode all + - )clear mode obj1 [obj2 ...] + +Command Description: + +This command is used to remove function and variable declarations, +definitions and values from the workspace. To empty the entire workspace and +reset the step counter to 1, issue + +)clear all + +To remove everything in the workspace but not reset the step counter, issue + +)clear properties all + +To remove everything about the object x, issue + +)clear properties x + +To remove everything about the objects x, y and f, issue + +)clear properties x y f + +The word properties may be abbreviated to the single letter ``p''. + +)clear p all +)clear p x +)clear p x y f + +All definitions of functions and values of variables may be removed by either + +)clear value all +)clear v all + +This retains whatever declarations the objects had. To remove definitions and +values for the specific objects x, y and f, issue + +)clear value x y f +)clear v x y f + +To remove the declarations of everything while leaving the definitions and +values, issue + +)clear mode all +)clear m all + +To remove declarations for the specific objects x, y and f, issue + +)clear mode x y f +)clear m x y f + +The )display names and )display properties commands may be used to see what +is currently in the workspace. + +The command + +)clear completely + +does everything that )clear all does, and also clears the internal system +function and constructor caches. + +Also See: +o )display +o )history +o )undo + diff --git a/src/doc/help/close.help b/src/doc/help/close.help new file mode 100644 index 00000000..a6d64a8c --- /dev/null +++ b/src/doc/help/close.help @@ -0,0 +1,45 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.5. )close +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )close + - )close )quietly + +Command Description: + +This command is used to close down interpreter client processes. Such +processes are started by HyperDoc to run OpenAxiom examples when you click on +their text. When you have finished examining or modifying the example and you +do not want the extra window around anymore, issue + +)close + +to the OpenAxiom prompt in the window. + +If you try to close down the last remaining interpreter client process, +OpenAxiom will offer to close down the entire AXIOM session and return +you to the operating system by displaying something like + + This is the last OpenAxiom session. Do you want to kill OpenAxiom? + +Type "y" (followed by the Return key) if this is what you had in mind. Type +"n" (followed by the Return key) to cancel the command. + +You can use the )quietly option to force OpenAxiom to close down the +interpreter client process without closing down the entire OpenAxiom session. + +Also See: +o )quit +o )pquit + diff --git a/src/doc/help/display.help b/src/doc/help/display.help new file mode 100644 index 00000000..6346cc76 --- /dev/null +++ b/src/doc/help/display.help @@ -0,0 +1,79 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.8. )display +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )display all + - )display properties + - )display properties all + - )display properties [obj1 [obj2 ...]] + - )display value all + - )display value [obj1 [obj2 ...]] + - )display mode all + - )display mode [obj1 [obj2 ...]] + - )display names + - )display operations opName + +Command Description: + +This command is used to display the contents of the workspace and signatures +of functions with a given name. (A signature gives the argument and return +types of a function.) + +The command + +)display names + +lists the names of all user-defined objects in the workspace. This is useful +if you do not wish to see everything about the objects and need only be +reminded of their names. + +The commands + +)display all +)display properties +)display properties all + +all do the same thing: show the values and types and declared modes of all +variables in the workspace. If you have defined functions, their signatures +and definitions will also be displayed. + +To show all information about a particular variable or user functions, for +example, something named d, issue + +)display properties d + +To just show the value (and the type) of d, issue + +)display value d + +To just show the declared mode of d, issue + +)display mode d + +All modemaps for a given operation may be displayed by using )display +operations. A modemap is a collection of information about a particular +reference to an operation. This includes the types of the arguments and the +return value, the location of the implementation and any conditions on the +types. The modemap may contain patterns. The following displays the modemaps +for the operation FromcomplexComplexCategory: + +)d op complex + +Also See: +o )clear +o )history +o )set +o )show +o )what + diff --git a/src/doc/help/edit.help b/src/doc/help/edit.help new file mode 100644 index 00000000..f39b5ef5 --- /dev/null +++ b/src/doc/help/edit.help @@ -0,0 +1,52 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.9. )edit +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )edit [filename] + +Command Description: + +This command is used to edit files. It works in conjunction with the )read +and )compile commands to remember the name of the file on which you are +working. By specifying the name fully, you can edit any file you wish. Thus + +)edit /u/julius/matrix.input + +will place you in an editor looking at the file /u/julius/matrix.input. By +default, the editor is vi, but if you have an EDITOR shell environment +variable defined, that editor will be used. When OpenAxiom is running +under the X Window System, it will try to open a separate xterm +running your editor if it thinks one is necessary. For example, under +the Korn shell, if you issue + +export EDITOR=emacs + +then the emacs editor will be used by )edit. + +If you do not specify a file name, the last file you edited, read or compiled +will be used. If there is no ``last file'' you will be placed in the editor +editing an empty unnamed file. + +It is possible to use the )system command to edit a file directly. For +example, + +)system emacs /etc/rc.tcpip + +calls emacs to edit the file. + +Also See: +o )system +o )compile +o )read + diff --git a/src/doc/help/fin.help b/src/doc/help/fin.help new file mode 100644 index 00000000..59b2768b --- /dev/null +++ b/src/doc/help/fin.help @@ -0,0 +1,28 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.10. )fin +============================================================================== + +User Level Required: development + +Command Syntax: + + - )fin + +Command Description: + +This command is used by OpenAxiom developers to leave the OpenAxiom system +and return to the underlying Lisp system. To return to OpenAxiom, issue +the ``(|spad|)'' function call to Lisp. This command is deprecated and +may be removed from future versions of OpenAxiom. + +Also See: +o )pquit +o )quit + diff --git a/src/doc/help/frame.help b/src/doc/help/frame.help new file mode 100644 index 00000000..3f1b30e3 --- /dev/null +++ b/src/doc/help/frame.help @@ -0,0 +1,99 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.11. )frame +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )frame new frameName + - )frame drop [frameName] + - )frame next + - )frame last + - )frame names + - )frame import frameName [objectName1 [objectName2 ...]] + - )set message frame on | off + - )set message prompt frame + +Command Description: + +A frame can be thought of as a logical session within the physical session +that you get when you start the system. You can have as many frames as you +want, within the limits of your computer's storage, paging space, and so on. +Each frame has its own step number, environment and history. You can have a +variable named a in one frame and it will have nothing to do with anything +that might be called a in any other frame. + +Some frames are created by the HyperDoc program and these can have pretty +strange names, since they are generated automatically. To find out the names +of all frames, issue + +)frame names + +It will indicate the name of the current frame. + +You create a new frame ``quark'' by issuing + +)frame new quark + +The history facility can be turned on by issuing either )set history on or +)history )on. If the history facility is on and you are saving history +information in a file rather than in the OpenAxiom environment then a history +file with filename quark.axh will be created as you enter commands. If you +wish to go back to what you were doing in the ``initial'' frame, use + +)frame next + +or + +)frame last + +to cycle through the ring of available frames to get back to ``initial''. + +If you want to throw away a frame (say ``quark''), issue + +)frame drop quark + +If you omit the name, the current frame is dropped. + +If you do use frames with the history facility on and writing to a file, you +may want to delete some of the older history files. These are directories, so +you may want to issue a command like rm -r quark.axh to the operating system. + +You can bring things from another frame by using )frame import. For example, +to bring the f and g from the frame ``quark'' to the current frame, issue + +)frame import quark f g + +If you want everything from the frame ``quark'', issue + +)frame import quark + +You will be asked to verify that you really want everything. + +There are two )set flags to make it easier to tell where you are. + +)set message frame on | off + +will print more messages about frames when it is set on. By default, it is +off. + +)set message prompt frame + +will give a prompt that looks like + +initial (1) -> + +when you start up. In this case, the frame name and step make up the prompt. + +Also See: +o )history +o )set + diff --git a/src/doc/help/help.help b/src/doc/help/help.help new file mode 100644 index 00000000..ec2ea703 --- /dev/null +++ b/src/doc/help/help.help @@ -0,0 +1,123 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.12. )help +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )help + - )help commandName + +Command Description: + +This command displays help information about system commands. If you issue + +)help + +then this very text will be shown. You can also give the name or abbreviation +of a system command to display information about it. For example, + +)help clear + +will display the description of the )clear system command. + +All this material is available in the OpenAxiom User Guide and in HyperDoc. +In HyperDoc, choose the Commands item from the Reference menu. + +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.1. Introduction +============================================================================== + + +System commands are used to perform OpenAxiom environment management. Among the +commands are those that display what has been defined or computed, set up +multiple logical OpenAxiom environments (frames), clear definitions, read files +of expressions and commands, show what functions are available, and terminate +OpenAxiom. + +Some commands are restricted: the commands + +)set userlevel interpreter +)set userlevel compiler +)set userlevel development + +set the user-access level to the three possible choices. All commands are +available at development level and the fewest are available at interpreter +level. The default user-level is interpreter. In addition to the )set command +(discussed in description of command )set ) you can use the HyperDoc settings +facility to change the user-level. Click on [Settings] here to immediately go +to the settings facility. + +Each command listing begins with one or more syntax pattern descriptions plus +examples of related commands. The syntax descriptions are intended to be easy +to read and do not necessarily represent the most compact way of specifying +all possible arguments and options; the descriptions may occasionally be +redundant. + +All system commands begin with a right parenthesis which should be in the +first available column of the input line (that is, immediately after the +input prompt, if any). System commands may be issued directly to +OpenAxiom or be included in .input files. + +A system command argument is a word that directly follows the command name +and is not followed or preceded by a right parenthesis. A system command +option follows the system command and is directly preceded by a right +parenthesis. Options may have arguments: they directly follow the option. +This example may make it easier to remember what is an option and what is an +argument: + + )syscmd arg1 arg2 )opt1 opt1arg1 opt1arg2 )opt2 opt2arg1 ... + +In the system command descriptions, optional arguments and options are +enclosed in brackets (``['' and ``]''). If an argument or option name is in +italics, it is meant to be a variable and must have some actual value +substituted for it when the system command call is made. For example, the +syntax pattern description + +)read fileName [)quietly] + +would imply that you must provide an actual file name for fileName but need +not use the )quietly option. Thus + +)read matrix.input + +is a valid instance of the above pattern. + +System command names and options may be abbreviated and may be in upper or +lower case. The case of actual arguments may be significant, depending on the +particular situation (such as in file names). System command names and +options may be abbreviated to the minimum number of starting letters so that +the name or option is unique. Thus + +)s Integer + +is not a valid abbreviation for the )set command, because both )set and )show +begin with the letter ``s''. Typically, two or three letters are sufficient +for disambiguating names. In our descriptions of the commands, we have used +no abbreviations for either command names or options. + +In some syntax descriptions we use a vertical line ``|'' to indicate that you +must specify one of the listed choices. For example, in + +)set output fortran on | off + +only on and off are acceptable words for following boot. We also sometimes +use ``...'' to indicate that additional arguments or options of the listed +form are allowed. Finally, in the syntax descriptions we may also list the +syntax of related commands. + diff --git a/src/doc/help/history.help b/src/doc/help/history.help new file mode 100644 index 00000000..95a38f28 --- /dev/null +++ b/src/doc/help/history.help @@ -0,0 +1,145 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.13. )history +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )history )on + - )history )off + - )history )write historyInputFileName + - )history )show [n] [both] + - )history )save savedHistoryName + - )history )restore [savedHistoryName] + - )history )reset + - )history )change n + - )history )memory + - )history )file + - % + - %%(n) + - )set history on | off + +Command Description: + +The history facility within OpenAxiom allows you to restore your +environment to that of another session and recall previous +computational results. Additional commands allow you to review +previous input lines and to create an .input file of the lines typed +to OpenAxiom. + +OpenAxiom saves your input and output if the history facility is +turned on (which is the default). This information is saved if either of + +)set history on +)history )on + +has been issued. Issuing either + +)set history off +)history )off + +will discontinue the recording of information. + +Whether the facility is disabled or not, the value of % in OpenAxiom always +refers to the result of the last computation. If you have not yet entered +anything, % evaluates to an object of type Variable('%). The function %% may +be used to refer to other previous results if the history facility is +enabled. In that case, %%(n) is the output from step n if n > 0. If n < 0, +the step is computed relative to the current step. Thus %%(-1) is also the +previous step, %%(-2), is the step before that, and so on. If an invalid step +number is given, OpenAxiom will signal an error. + +The environment information can either be saved in a file or entirely in +memory (the default). Each frame ( description of command )frame ) has its +own history database. When it is kept in a file, some of it may also be kept +in memory for efficiency. When the information is saved in a file, the name +of the file is of the form FRAME.axh where ``FRAME'' is the name of the +current frame. The history file is placed in the current working directory +(see description of command )cd ). Note that these history database files are +not text files (in fact, they are directories themselves), and so are not in +human-readable format. + +The options to the )history command are as follows: + + )change n + will set the number of steps that are saved in memory to n. This option + only has effect when the history data is maintained in a file. If you + have issued )history )memory (or not changed the default) there is no + need to use )history )change. + + )on + will start the recording of information. If the workspace is not empty, + you will be asked to confirm this request. If you do so, the workspace + will be cleared and history data will begin being saved. You can also + turn the facility on by issuing )set history on. + + )off + will stop the recording of information. The )history )show command will + not work after issuing this command. Note that this command may be issued + to save time, as there is some performance penalty paid for saving the + environment data. You can also turn the facility off by issuing )set + history off. + + )file + indicates that history data should be saved in an external file on disk. + + )memory + indicates that all history data should be kept in memory rather than + saved in a file. Note that if you are computing with very large objects + it may not be practical to kept this data in memory. + + )reset + will flush the internal list of the most recent workspace calculations so + that the data structures may be garbage collected by the underlying Lisp + system. Like )history )change, this option only has real effect when + history data is being saved in a file. + + )restore [savedHistoryName] + completely clears the environment and restores it to a saved session, if + possible. The )save option below allows you to save a session to a file + with a given name. If you had issued )history )save jacobi the command + )history )restore jacobi would clear the current workspace and load the + contents of the named saved session. If no saved session name is + specified, the system looks for a file called last.axh. + + )save savedHistoryName + is used to save a snapshot of the environment in a file. This file is + placed in the current working directory (see description of command )cd + ). Use )history )restore to restore the environment to the state + preserved in the file. This option also creates an input file containing + all the lines of input since you created the workspace frame (for + example, by starting your OpenAxiom session) or last did a )clear all or + )clear completely. + + )show [n] [both] + can show previous input lines and output results. )show will display up + to twenty of the last input lines (fewer if you haven't typed in twenty + lines). )show n will display up to n of the last input lines. )show both + will display up to five of the last input lines and output results. )show + n both will display up to n of the last input lines and output results. + + )write historyInputFile + creates an .input file with the input lines typed since the start of the + session/frame or the last )clear all or )clear completely. If + historyInputFileName does not contain a period (``.'') in the filename, + .input is appended to it. For example, )history )write chaos and )history + )write chaos.input both write the input lines to a file called + chaos.input in your current working directory. If you issued one or more + )undo commands, )history )write eliminates all input lines backtracked + over as a result of )undo. You can edit this file and then use )read to + have OpenAxiom process the contents. + +Also See: +o )frame +o )read +o )set +o )undo + diff --git a/src/doc/help/library.help b/src/doc/help/library.help new file mode 100644 index 00000000..dc8cae84 --- /dev/null +++ b/src/doc/help/library.help @@ -0,0 +1,62 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.14. )library +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )library libName1 [libName2 ...] + - )library )dir dirName + - )library )only objName1 [objlib2 ...] + - )library )noexpose + +Command Description: + +This command replaces the )load system command that was available in OpenAxiom +releases before version 2.0. The )library command makes available to OpenAxiom +the compiled objects in the libraries listed. + +For example, if you )compile dopler.as in your home directory, issue )library +dopler to have OpenAxiom look at the library, determine the category and domain +constructors present, update the internal database with various properties of +the constructors, and arrange for the constructors to be automatically loaded +when needed. If the )noexpose option has not been given, the constructors +will be exposed (that is, available) in the current frame. + +If you compiled a file with the old system compiler, you will have an NRLIB +present, for example, DOPLER.NRLIB, where DOPLER is a constructor +abbreviation. The command )library DOPLER will then do the analysis and +database updates as above. + +To tell the system about all libraries in a directory, use )library )dir +dirName where dirName is an explicit directory. You may specify ``.'' as the +directory, which means the current directory from which you started the +system or the one you set via the )cd command. The directory name is required. + +You may only want to tell the system about particular constructors within a +library. In this case, use the )only option. The command )library dopler +)only Test1 will only cause the Test1 constructor to be analyzed, autoloaded, +etc.. + +Finally, each constructor in a library are usually automatically exposed when +the )library command is used. Use the )noexpose option if you not want them +exposed. At a later time you can use )set expose add constructor to expose +any hidden constructors. + +Note for OpenAxiom beta testers: At various times this command was +called )local and )with before the name )library became the official name. + +Also See: +o )cd +o )compile +o )frame +o )set + diff --git a/src/doc/help/lisp.help b/src/doc/help/lisp.help new file mode 100644 index 00000000..cdce178d --- /dev/null +++ b/src/doc/help/lisp.help @@ -0,0 +1,34 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.15. )lisp +============================================================================== + +User Level Required: development + +Command Syntax: + + - )lisp [lispExpression] + +Command Description: + +This command is used by OpenAxiom system developers to have single expressions +evaluated by the Lisp system on which OpenAxiom is built. The lispExpression is +read by the Lisp reader and evaluated. If this expression is not complete +(unbalanced parentheses, say), the reader will wait until a complete +expression is entered. + +Since this command is only useful for evaluating single expressions, the )fin +command may be used to drop out of OpenAxiom into Lisp. These two +commands are deprecated. + +Also See: +o )system +o )boot +o )fin + diff --git a/src/doc/help/load.help b/src/doc/help/load.help new file mode 100644 index 00000000..d913b81d --- /dev/null +++ b/src/doc/help/load.help @@ -0,0 +1,17 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.16. )load +============================================================================== + +User Level Required: interpreter + +Command Description: + +This command is obsolete. Use )library instead. + diff --git a/src/doc/help/ltrace.help b/src/doc/help/ltrace.help new file mode 100644 index 00000000..860994d9 --- /dev/null +++ b/src/doc/help/ltrace.help @@ -0,0 +1,27 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.17. )ltrace +============================================================================== + +User Level Required: development + +Command Syntax: + +This command has the same arguments as options as the )trace command. + +Command Description: + +This command is used by OpenAxiom system developers to trace Lisp or BOOT +functions. It is not supported for general use. + +Also See: +o )boot +o )lisp +o )trace + diff --git a/src/doc/help/nclef.help b/src/doc/help/nclef.help new file mode 100644 index 00000000..e62379dc --- /dev/null +++ b/src/doc/help/nclef.help @@ -0,0 +1,46 @@ +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +Entering printable keys generally inserts new text into the buffer (unless +in overwrite mode, see below). Other special keys can be used to modify +the text in the buffer. In the description of the keys below, ^n means +Control-n, or holding the CONTROL key down while pressing "n". Errors +will ring the terminal bell. + +^A/^E : Move cursor to beginning/end of the line. +^F/^B : Move cursor forward/backward one character. +^D : Delete the character under the cursor. +^H, DEL : Delete the character to the left of the cursor. +^K : Kill from the cursor to the end of line. +^L : Redraw current line. +^O : Toggle overwrite/insert mode. Initially in insert mode. Text + added in overwrite mode (including yanks) overwrite + existing text, while insert mode does not overwrite. +^P/^N : Move to previous/next item on history list. +^R/^S : Perform incremental reverse/forward search for string on + the history list. Typing normal characters adds to the current + search string and searches for a match. Typing ^R/^S marks + the start of a new search, and moves on to the next match. + Typing ^H or DEL deletes the last character from the search + string, and searches from the starting location of the last search. + Therefore, repeated DEL's appear to unwind to the match nearest + the point at which the last ^R or ^S was typed. If DEL is + repeated until the search string is empty the search location + begins from the start of the history list. Typing ESC or + any other editing character accepts the current match and + loads it into the buffer, terminating the search. +^T : Toggle the characters under and to the left of the cursor. +^Y : Yank previously killed text back at current location. Note that + this will overwrite or insert, depending on the current mode. +^U : Show help (this text). +TAB : Perform command completion based on word to the left of the cursor. + Words are deemed to contain only the alphanumeric and the % ! ? _ + characters. +NL, CR : returns current buffer to the program. + +DOS and ANSI terminal arrow key sequences are recognized, and act like: + + up : same as ^P + down : same as ^N + left : same as ^B + right : same as ^F + diff --git a/src/doc/help/pquit.help b/src/doc/help/pquit.help new file mode 100644 index 00000000..52c00dfd --- /dev/null +++ b/src/doc/help/pquit.help @@ -0,0 +1,51 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.18. )pquit +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )pquit + +Command Description: + +This command is used to terminate OpenAxiom and return to the operating system. +Other than by redoing all your computations or by using the )history )restore +command to try to restore your working environment, you cannot return to +OpenAxiom in the same state. + +)pquit differs from the )quit in that it always asks for confirmation that +you want to terminate OpenAxiom (the ``p'' is for ``protected''). When +you enter the )pquit command, OpenAxiom responds + + Please enter y or yes if you really want to leave the interactive + environment and return to the operating system: + +If you respond with y or yes, you will see the message + + You are now leaving the OpenAxiom interactive environment. + Issue the command axiom to the operating system to start a new session. + +and OpenAxiom will terminate and return you to the operating system (or the +environment from which you invoked the system). If you responded with +something other than y or yes, then the message + + You have chosen to remain in the OpenAxiom interactive environment. + +will be displayed and, indeed, OpenAxiom would still be running. + +Also See: +o )fin +o )history +o )close +o )quit +o )system + diff --git a/src/doc/help/quit.help b/src/doc/help/quit.help new file mode 100644 index 00000000..67cc491a --- /dev/null +++ b/src/doc/help/quit.help @@ -0,0 +1,49 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.19. )quit +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )quit + - )set quit protected | unprotected + +Command Description: + +This command is used to terminate OpenAxiom and return to the operating system. +Other than by redoing all your computations or by using the )history )restore +command to try to restore your working environment, you cannot return to +OpenAxiom in the same state. + +)quit differs from the )pquit in that it asks for confirmation only if the +command + +)set quit protected + +has been issued. Otherwise, )quit will make OpenAxiom terminate and +return you to the operating system (or the environment from which you +invoked the system). + +The default setting is )set quit protected so that )quit and )pquit behave in +the same way. If you do issue + +)set quit unprotected + +we suggest that you do not (somehow) assign )quit to be executed when you +press, say, a function key. + +Also See: +o )fin +o )history +o )close +o )pquit +o )system + diff --git a/src/doc/help/read.help b/src/doc/help/read.help new file mode 100644 index 00000000..a00f8335 --- /dev/null +++ b/src/doc/help/read.help @@ -0,0 +1,43 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.20. )read +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )read [fileName] + - )read [fileName] [)quiet] [)ifthere] + +Command Description: + +This command is used to read .input files into OpenAxiom. The command + +)read matrix.input + +will read the contents of the file matrix.input into OpenAxiom. The ``.input'' +file extension is optional. See the OpenAxiom User Guide index for more +information about .input files. + +This command remembers the previous file you edited, read or compiled. If you +do not specify a file name, the previous file will be read. + +The )ifthere option checks to see whether the .input file exists. If it does +not, the )read command does nothing. If you do not use this option and the +file does not exist, you are asked to give the name of an existing .input +file. + +The )quiet option suppresses output while the file is being read. + +Also See: +o )compile +o )edit +o )history + diff --git a/src/doc/help/savesystem.help b/src/doc/help/savesystem.help new file mode 100644 index 00000000..a785b2be --- /dev/null +++ b/src/doc/help/savesystem.help @@ -0,0 +1,44 @@ +Copyright The Numerical Algorithms Group Limited 1992. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the book +AXIOM: The System for Scientific Computation. + +============================================================================== +A.8. )savesystem +============================================================================== + + + + + +User Level Required: interpreter + + +Command Syntax: + + - )savesystem filename + +Command Description: + + This command is used to save an OpenAxiom image to disk. This creates an +executable file which, when started, has everything loaded into it +that was there when the image was saved. This command does not work +with general Common Lisp. It works only with GCL- and SBCL-based +OpenAxiom. In general, this command should be considered as deprecared. + +Thus, after executing commands which cause the loading of some +packages, the command: + +)savesystem /tmp/savesys + +will create an image that can be restarted with the UNIX command: + +axiom -ws /tmp/savesys + +This new system will not need to reload the packages and domains that +were already loaded when the system was saved. + +There is currently a restriction that only systems started with the +command "AXIOMsys" may be saved. diff --git a/src/doc/help/set.help b/src/doc/help/set.help new file mode 100644 index 00000000..7eaf59e3 --- /dev/null +++ b/src/doc/help/set.help @@ -0,0 +1,60 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.21. )set +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )set + - )set label1 [... labelN] + - )set label1 [... labelN] newValue + +Command Description: + +The )set command is used to view or set system variables that control what +messages are displayed, the type of output desired, the status of the history +facility, the way OpenAxiom user functions are cached, and so on. Since this +collection is very large, we will not discuss them here. Rather, we will show +how the facility is used. We urge you to explore the )set options to +familiarize yourself with how you can modify your OpenAxiom working +environment. There is a HyperDoc version of this same facility +available from the main HyperDoc menu. Click [here] to go to it. + +The )set command is command-driven with a menu display. It is +tree-structured. To see all top-level nodes, issue )set by itself. + +)set + +Variables with values have them displayed near the right margin. Subtrees of +selections have ``...'' displayed in the value field. For example, there are +many kinds of messages, so issue )set message to see the choices. + +)set message + +The current setting for the variable that displays whether computation times +are displayed is visible in the menu displayed by the last command. To see +more information, issue + +)set message time + +This shows that time printing is on now. To turn it off, issue + +)set message time off + +As noted above, not all settings have so many qualifiers. For example, to +change the )quit command to being unprotected (that is, you will not be +prompted for verification), you need only issue + +)set quit unprotected + +Also See: +o )quit + diff --git a/src/doc/help/show.help b/src/doc/help/show.help new file mode 100644 index 00000000..e3e38065 --- /dev/null +++ b/src/doc/help/show.help @@ -0,0 +1,56 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.22. )show +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )show nameOrAbbrev + - )show nameOrAbbrev )operations + - )show nameOrAbbrev )attributes + +Command Description: +This command displays information about OpenAxiom domain, package and category +constructors. If no options are given, the )operations option is assumed. For +example, + +)show POLY +)show POLY )operations +)show Polynomial +)show Polynomial )operations + +each display basic information about the Polynomial domain constructor and +then provide a listing of operations. Since Polynomial requires a Ring (for +example, Integer) as argument, the above commands all refer to a unspecified +ring R. In the list of operations, $ means Polynomial(R). + +The basic information displayed includes the signature of the constructor +(the name and arguments), the constructor abbreviation, the exposure status +of the constructor, and the name of the library source file for the +constructor. + +If operation information about a specific domain is wanted, the full or +abbreviated domain name may be used. For example, + +)show POLY INT +)show POLY INT )operations +)show Polynomial Integer +)show Polynomial Integer )operations + +are among the combinations that will display the operations exported by the +domain Polynomial(Integer) (as opposed to the general domain constructor +Polynomial). Attributes may be listed by using the )attributes option. + +Also See: +o )display +o )set +o )what + diff --git a/src/doc/help/spool.help b/src/doc/help/spool.help new file mode 100644 index 00000000..889aa78b --- /dev/null +++ b/src/doc/help/spool.help @@ -0,0 +1,37 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.23. )spool +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )spool [fileName] + - )spool + +Command Description: + +This command is used to save (spool) all OpenAxiom input and output into a +file, called a spool file. You can only have one spool file active at +a time. To start spool, issue this command with a filename. For example, + +)spool integrate.out + +To stop spooling, issue )spool with no filename. + +If the filename is qualified with a directory, then the output will be placed +in that directory. If no directory information is given, the spool file will +be placed in the current directory. The current directory is the directory +from which you started OpenAxiom or is the directory you specified using the +)cd command. + +Also See: +o )cd + diff --git a/src/doc/help/synonym.help b/src/doc/help/synonym.help new file mode 100644 index 00000000..46269bec --- /dev/null +++ b/src/doc/help/synonym.help @@ -0,0 +1,52 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.24. )synonym +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )synonym + - )synonym synonym fullCommand + - )what synonyms + +Command Description: + +This command is used to create short synonyms for system command expressions. +For example, the following synonyms might simplify commands you often use. + +)synonym save history )save +)synonym restore history )restore +)synonym mail system mail +)synonym ls system ls +)synonym fortran set output fortran + +Once defined, synonyms can be used in place of the longer command +expressions. Thus + +)fortran on + +is the same as the longer + +)set fortran output on + +To list all defined synonyms, issue either of + +)synonyms +)what synonyms + +To list, say, all synonyms that contain the substring ``ap'', issue + +)what synonyms ap + +Also See: +o )set +o )what + diff --git a/src/doc/help/system.help b/src/doc/help/system.help new file mode 100644 index 00000000..8b573e31 --- /dev/null +++ b/src/doc/help/system.help @@ -0,0 +1,42 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.25. )system +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )system cmdExpression + +Command Description: + +This command may be used to issue commands to the operating system while +remaining in OpenAxiom. The cmdExpression is passed to the operating system for +execution. + +To get an operating system shell, issue, for example, )system sh. When you +enter the key combination, Ctrl-D (pressing and holding the Ctrl key and then +pressing the D key) the shell will terminate and you will return to OpenAxiom. We +do not recommend this way of creating a shell because Lisp may field some +interrupts instead of the shell. If possible, use a shell running in another +window. + +If you execute programs that misbehave you may not be able to return to +OpenAxiom. If this happens, you may have no other choice than to +restart OpenAxiom and restore the environment via )history )restore, +if possible. + +Also See: +o )boot +o )fin +o )lisp +o )pquit +o )quit + diff --git a/src/doc/help/trace.help b/src/doc/help/trace.help new file mode 100644 index 00000000..d12e3d03 --- /dev/null +++ b/src/doc/help/trace.help @@ -0,0 +1,224 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.26. )trace +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )trace + - )trace )off + + - )trace function [options] + - )trace constructor [options] + - )trace domainOrPackage [options] + +where options can be one or more of + + - )after S-expression + - )before S-expression + - )break after + - )break before + - )cond S-expression + - )count + - )count n + - )depth n + - )local op1 [... opN] + - )nonquietly + - )nt + - )off + - )only listOfDataToDisplay + - )ops + - )ops op1 [... opN ] + - )restore + - )stats + - )stats reset + - )timer + - )varbreak + - )varbreak var1 [... varN ] + - )vars + - )vars var1 [... varN ] + - )within executingFunction + +Command Description: + +This command is used to trace the execution of functions that make up the +OpenAxiom system, functions defined by users, and functions from the system +library. Almost all options are available for each type of function but +exceptions will be noted below. + +To list all functions, constructors, domains and packages that are traced, +simply issue + +)trace + +To untrace everything that is traced, issue + +)trace )off + +When a function is traced, the default system action is to display the +arguments to the function and the return value when the function is exited. +Note that if a function is left via an action such as a THROW, no return +value will be displayed. Also, optimization of tail recursion may decrease +the number of times a function is actually invoked and so may cause less +trace information to be displayed. Other information can be displayed or +collected when a function is traced and this is controlled by the various +options. Most options will be of interest only to OpenAxiom system developers. If +a domain or package is traced, the default action is to trace all functions +exported. + +Individual interpreter, lisp or boot functions can be traced by listing their +names after )trace. Any options that are present must follow the functions to +be traced. + +)trace f + +traces the function f. To untrace f, issue + +)trace f )off + +Note that if a function name contains a special character, it will be +necessary to escape the character with an underscore + +)trace _/D_,1 + +To trace all domains or packages that are or will be created from a +particular constructor, give the constructor name or abbreviation after +)trace. + +)trace MATRIX +)trace List Integer + +The first command traces all domains currently instantiated with Matrix. If +additional domains are instantiated with this constructor (for example, if +you have used Matrix(Integer) and Matrix(Float)), they will be automatically +traced. The second command traces List(Integer). It is possible to trace +individual functions in a domain or package. See the )ops option below. + +The following are the general options for the )trace command. + + )break after + causes a Lisp break loop to be entered after exiting the traced function. + + )break before + causes a Lisp break loop to be entered before entering the traced + function. + + )break + is the same as )break before. + + )count + causes the system to keep a count of the number of times the traced + function is entered. The total can be displayed with )trace )stats and + cleared with )trace )stats reset. + + )count n + causes information about the traced function to be displayed for the + first n executions. After the nth execution, the function is untraced. + + )depth n + causes trace information to be shown for only n levels of recursion of + the traced function. The command + + )trace fib )depth 10 + + will cause the display of only 10 levels of trace information for the + recursive execution of a user function fib. + + )math + causes the function arguments and return value to be displayed in the + OpenAxiom monospace two-dimensional math format. + + )nonquietly + causes the display of additional messages when a function is traced. + + )nt + This suppresses all normal trace information. This option is useful if + the )count or )timer options are used and you are interested in the + statistics but not the function calling information. + + )off + causes untracing of all or specific functions. Without an argument, all + functions, constructors, domains and packages are untraced. Otherwise, + the given functions and other objects are untraced. To immediately + retrace the untraced functions, issue )trace )restore. + + )only listOfDataToDisplay + causes only specific trace information to be shown. The items are listed + by using the following abbreviations: + + a display all arguments + v display return value + 1 display first argument + 2 display second argument + 15 display the 15th argument, and so on + + )restore + causes the last untraced functions to be retraced. If additional options + are present, they are added to those previously in effect. + + )stats + causes the display of statistics collected by the use of the )count and + )timer options. + + )stats reset + resets to 0 the statistics collected by the use of the )count and )timer + options. + + )timer + causes the system to keep a count of execution times for the traced + function. The total can be displayed with )trace )stats and cleared with + )trace )stats reset. + + )varbreak var1 [... varN] + causes a Lisp break loop to be entered after the assignment to any of the + listed variables in the traced function. + + )vars + causes the display of the value of any variable after it is assigned in + the traced function. Note that library code must have been compiled (see + description of command )compile ) using the )vartrace option in order to + support this option. + + )vars var1 [... varN] + causes the display of the value of any of the specified variables after + they are assigned in the traced function. Note that library code must + have been compiled (see description of command )compile ) using the + )vartrace option in order to support this option. + + )within executingFunction + causes the display of trace information only if the traced function is + called when the given executingFunction is running. + +The following are the options for tracing constructors, domains and packages. + + )local [op1 [... opN]] + causes local functions of the constructor to be traced. Note that to + untrace an individual local function, you must use the fully qualified + internal name, using the escape character _ before the semicolon. + + )trace FRAC )local + )trace FRAC_;cancelGcd )off + + )ops op1 [... opN] + By default, all operations from a domain or package are traced when the + domain or package is traced. This option allows you to specify that only + particular operations should be traced. The command + + )trace Integer )ops min max _+ _- + + traces four operations from the domain Integer. Since + and - are special + characters, it is necessary to escape them with an underscore. + +Also See: +o )boot +o )lisp +o )ltrace + diff --git a/src/doc/help/undo.help b/src/doc/help/undo.help new file mode 100644 index 00000000..d964d71e --- /dev/null +++ b/src/doc/help/undo.help @@ -0,0 +1,65 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.27. )undo +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )undo + - )undo integer + - )undo integer [option] + - )undo )redo + +where option is one of + + - )after + - )before + +Command Description: + +This command is used to restore the state of the user environment to an +earlier point in the interactive session. The argument of an )undo is an +integer which must designate some step number in the interactive session. + +)undo n +)undo n )after + +These commands return the state of the interactive environment to that +immediately after step n. If n is a positive number, then n refers to step +nummber n. If n is a negative number, it refers to the nth previous command +(that is, undoes the effects of the last -n commands). + +A )clear all resets the )undo facility. Otherwise, an )undo undoes the effect +of )clear with options properties, value, and mode, and that of a previous +undo. If any such system commands are given between steps n and n + 1 (n > +0), their effect is undone for )undo m for any 0 < m <= n . + +The command )undo is equivalent to )undo -1 (it undoes the effect of the +previous user expression). The command )undo 0 undoes any of the above system +commands issued since the last user expression. + +)undo n )before + +This command returns the state of the interactive environment to that +immediately before step n. Any )undo or )clear system commands given before +step n will not be undone. + +)undo )redo + +This command reads the file redo.input. created by the last )undo command. +This file consists of all user input lines, excluding those backtracked over +due to a previous )undo. + +Also See: +o )history +The command )history )write will eliminate the ``undone'' command lines of +your program. + diff --git a/src/doc/help/what.help b/src/doc/help/what.help new file mode 100644 index 00000000..fb9be977 --- /dev/null +++ b/src/doc/help/what.help @@ -0,0 +1,85 @@ +Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved. +Copyright (C) 2007-2009, Gabriel Dos Reis. All rights reserved. + +OpenAxiom Help Information. +Section numbers refer to the on-line version of the book +AXIOM: The Scientific Computation System by Richard D. Jenks and Robert S. Sutor + +============================================================================== +A.28. )what +============================================================================== + +User Level Required: interpreter + +Command Syntax: + + - )what categories pattern1 [pattern2 ...] + - )what commands pattern1 [pattern2 ...] + - )what domains pattern1 [pattern2 ...] + - )what operations pattern1 [pattern2 ...] + - )what packages pattern1 [pattern2 ...] + - )what synonym pattern1 [pattern2 ...] + - )what things pattern1 [pattern2 ...] + - )apropos pattern1 [pattern2 ...] + +Command Description: + +This command is used to display lists of things in the system. The patterns +are all strings and, if present, restrict the contents of the lists. Only +those items that contain one or more of the strings as substrings are +displayed. For example, + +)what synonym + +displays all command synonyms, + +)what synonym ver + +displays all command synonyms containing the substring ``ver'', + +)what synonym ver pr + +displays all command synonyms containing the substring ``ver'' or the +substring ``pr''. Output similar to the following will be displayed + +---------------- System Command Synonyms ----------------- + + +user-defined synonyms satisfying patterns: + ver pr + + + )apr ........................... )what things + )apropos ....................... )what things + )prompt ........................ )set message prompt + )version ....................... )lisp *yearweek* + +Several other things can be listed with the )what command: + + categories displays a list of category constructors. + commands displays a list of system commands available at your + user-level. Your user-level is set via the )set userlevel command. To get + a description of a particular command, such as ``)what'', issue )help + what. + domains displays a list of domain constructors. + operations displays a list of operations in the system library. + It is recommended that you qualify this command with one or more + patterns, as there are thousands of operations available. For example, + say you are looking for functions that involve computation of + eigenvalues. To find their names, try )what operations eig. A rather + large list of operations is loaded into the workspace when this command + is first issued. This list will be deleted when you clear the workspace + via )clear all or )clear completely. It will be re-created if it is + needed again. + packages displays a list of package constructors. + synonym lists system command synonyms. + things displays all of the above types for items containing + the pattern strings as substrings. The command synonym )apropos is + equivalent to )what things. + +Also See: +o )display +o )set +o )show + + diff --git a/src/interp/util.lisp b/src/interp/util.lisp index 8e2b0b9b..6abfbbd3 100644 --- a/src/interp/util.lisp +++ b/src/interp/util.lisp @@ -243,7 +243,7 @@ "/share/msgs/" "/../../src/algebra/" "/../../src/interp/" ; for boot and lisp files (helps fd) - "/doc/spadhelp/" )) + "/doc/help/" )) ;; The relative directory list specifies how to find the algebra ;; directory from the current {\bf AXIOM} shell variable. |