aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interp/Makefile.in58
-rw-r--r--src/interp/Makefile.pamphlet62
-rw-r--r--src/interp/axext_l.lisp (renamed from src/interp/axext_l.lisp.pamphlet)53
-rw-r--r--src/interp/bits.lisp2
-rw-r--r--src/interp/boot-pkg.lisp2
-rw-r--r--src/interp/bootlex.lisp2
-rw-r--r--src/interp/cfuns.lisp (renamed from src/interp/cfuns.lisp.pamphlet)24
-rw-r--r--src/interp/comp.lisp2
-rw-r--r--src/interp/daase.lisp (renamed from src/interp/daase.lisp.pamphlet)669
-rw-r--r--src/interp/debug.lisp (renamed from src/interp/debug.lisp.pamphlet)453
-rw-r--r--src/interp/def.lisp2
-rw-r--r--src/interp/fname.lisp2
-rw-r--r--src/interp/fnewmeta.lisp (renamed from src/interp/fnewmeta.lisp.pamphlet)423
-rw-r--r--src/interp/foam_l.lisp (renamed from src/interp/foam_l.lisp.pamphlet)278
-rw-r--r--src/interp/ggreater.lisp2
-rw-r--r--src/interp/hash.lisp (renamed from src/interp/hash.lisp.pamphlet)58
-rw-r--r--src/interp/interp-proclaims.lisp3391
-rw-r--r--src/interp/intint.lisp (renamed from src/interp/intint.lisp.pamphlet)38
-rw-r--r--src/interp/macros.lisp (renamed from src/interp/macros.lisp.pamphlet)259
-rw-r--r--src/interp/metalex.lisp2
-rw-r--r--src/interp/monitor.lisp (renamed from src/interp/monitor.lisp.pamphlet)336
-rw-r--r--src/interp/newaux.lisp (renamed from src/interp/newaux.lisp.pamphlet)148
-rw-r--r--src/interp/nlib.lisp (renamed from src/interp/nlib.lisp.pamphlet)291
-rw-r--r--src/interp/nocompil.lisp (renamed from src/interp/nocompil.lisp.pamphlet)67
-rw-r--r--src/interp/nspadaux.lisp2
-rw-r--r--src/interp/obey.lisp2
-rw-r--r--src/interp/parsing.lisp2
-rw-r--r--src/interp/patches.lisp (renamed from src/interp/patches.lisp.pamphlet)99
-rw-r--r--src/interp/postprop.lisp2
-rw-r--r--src/interp/preparse.lisp (renamed from src/interp/preparse.lisp.pamphlet)129
-rw-r--r--src/interp/property.lisp (renamed from src/interp/property.lisp.pamphlet)104
-rw-r--r--src/interp/setq.lisp (renamed from src/interp/setq.lisp.pamphlet)170
-rw-r--r--src/interp/sfsfun-l.lisp (renamed from src/interp/sfsfun-l.lisp.pamphlet)28
-rw-r--r--src/interp/sockio.lisp (renamed from src/interp/sockio.lisp.pamphlet)54
-rw-r--r--src/interp/spad.lisp (renamed from src/interp/spad.lisp.pamphlet)282
-rw-r--r--src/interp/spaderror.lisp (renamed from src/interp/spaderror.lisp.pamphlet)82
-rw-r--r--src/interp/union.lisp2
-rw-r--r--src/interp/unlisp.lisp (renamed from src/interp/unlisp.lisp.pamphlet)106
-rw-r--r--src/interp/util.lisp1118
-rw-r--r--src/interp/util.lisp.pamphlet1557
-rw-r--r--src/interp/vmlisp.lisp (renamed from src/interp/vmlisp.lisp.pamphlet)298
41 files changed, 2754 insertions, 7907 deletions
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index 827626b3..9d742924 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -21,29 +21,11 @@ LISPSYS= $(axiom_build_bindir)/lisp
BOOTSYS= $(axiom_build_bindir)/bootsys
DEPSYS = ./depsys
-depsys_lisp_compiled_sources += parsing.lisp metalex.lisp bootlex.lisp \
- newaux.lisp preparse.lisp postprop.lisp def.lisp \
- fnewmeta.lisp
-
-depsys_lisp_sources = $(depsys_lisp_noncompiled_sources) \
- $(depsys_lisp_compiled_sources)
-
-depsys_boot_sources = postpar.boot parse.boot clam.boot slam.boot \
- g-boot.boot g-error.boot c-util.boot g-util.boot
-DEP= spaderror.lisp debug.lisp \
- spad.lisp \
- setq.lisp property.lisp \
- unlisp.lisp foam_l.lisp \
- axext_l.lisp
-
-depsys_lisp_macro_sources = vmlisp.lisp ggreater.lisp hash.lisp \
- union.lisp nlib.lisp macros.lisp \
- comp.lisp spaderror.lisp debug.lisp \
- spad.lisp bits.lisp setq.lisp property.lisp \
- unlisp.lisp foam_l.lisp axext_l.lisp
-
-depsys_lisp_noncompiled_sources += $(depsys_lisp_macro_sources)
-depsys_lisp_SOURCES = $(addsuffix .pamphlet, $(depsys_lisp_sources))
+DEP= $(srcdir)/spaderror.lisp $(srcdir)/debug.lisp \
+ $(srcdir)/spad.lisp \
+ $(srcdir)/setq.lisp $(srcdir)/property.lisp \
+ $(srcdir)/unlisp.lisp $(srcdir)/foam_l.lisp \
+ $(srcdir)/axext_l.lisp
LOADSYS= $(axiom_build_bindir)/lisp$(EXEEXT)
SAVESYS= interpsys$(EXEEXT)
AXIOMSYS= $(axiom_target_bindir)/AXIOMsys$(EXEEXT)
@@ -108,36 +90,6 @@ OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
$(BROBJS)
interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
-
-AXIOMsys_noncompiled_lisp_sources = nocompil.lisp \
- postprop.lisp property.lisp setq.lisp
-
-AXIOMsys_compiled_lisp_sources = bits.lisp \
- bootlex.lisp cfuns.lisp comp.lisp construc.lisp daase.lisp \
- debug.lisp def.lisp fname.lisp fnewmeta.lisp ggreater.lisp \
- hash.lisp macros.lisp metalex.lisp monitor.lisp newaux.lisp \
- nlib.lisp nspadaux.lisp parsing.lisp \
- patches.lisp preparse.lisp \
- sockio.lisp spad.lisp spaderror.lisp \
- union.lisp util.lisp vmlisp.lisp obey.lisp \
- unlisp.lisp intint.lisp sfsfun-l.lisp \
- axext_l.lisp foam_l.lisp
-
-AXIOMsys_boot_sources = astr.boot alql.boot buildom.boot cattable.boot \
- cformat.boot clam.boot clammed.boot compat.boot compress.boot \
- cparse.boot cstream.boot database.boot dq.boot format.boot \
- g-boot.boot g-cndata.boot g-error.boot g-opt.boot g-timer.boot \
- g-util.boot hypertex.boot i-analy.boot i-code.boot i-coerce.boot \
- i-coerfn.boot i-eval.boot i-funsel.boot i-intern.boot i-map.boot \
- i-output.boot i-resolv.boot i-spec1.boot i-spec2.boot \
- i-syscmd.boot i-toplev.boot i-util.boot incl.boot int-top.boot \
- intfile.boot lisplib.boot macex.boot match.boot msg.boot \
- msgdb.boot newfort.boot nrunfast.boot nrungo.boot nrunopt.boot \
- nruntime.boot osyscmd.boot packtran.boot pathname.boot \
- pf2sex.boot pile.boot posit.boot ptrees.boot \
- record.boot rulesets.boot scan.boot serror.boot server.boot \
- setvars.boot sfsfun.boot simpbool.boot slam.boot template.boot \
- termrw.boot trace.boot fortcall.boot
INOBJS= varini.$(FASLEXT) \
setvart.$(FASLEXT) intint.$(FASLEXT) \
xrun.$(FASLEXT) interop.$(FASLEXT) \
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 54889009..9843fcc5 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -247,19 +247,6 @@ The [[depsys]] image is made of the following Lisp source files
\end{description}
-%
-<<environment>>=
-depsys_lisp_compiled_sources += parsing.lisp metalex.lisp bootlex.lisp \
- newaux.lisp preparse.lisp postprop.lisp def.lisp \
- fnewmeta.lisp
-
-depsys_lisp_sources = $(depsys_lisp_noncompiled_sources) \
- $(depsys_lisp_compiled_sources)
-
-depsys_boot_sources = postpar.boot parse.boot clam.boot slam.boot \
- g-boot.boot g-error.boot c-util.boot g-util.boot
-@
-
The {\bf DEP} variable contains the list of files that
will be loaded into {\bf DEPSYS}. Notice that these files
are loaded in interpreted form. We are not concerned about
@@ -268,20 +255,11 @@ We do, however, care about the macros as these will be
expanded in later compiles. All macros are assumed to be
in this list of files.
<<environment>>=
-DEP= spaderror.lisp debug.lisp \
- spad.lisp \
- setq.lisp property.lisp \
- unlisp.lisp foam_l.lisp \
- axext_l.lisp
-
-depsys_lisp_macro_sources = vmlisp.lisp ggreater.lisp hash.lisp \
- union.lisp nlib.lisp macros.lisp \
- comp.lisp spaderror.lisp debug.lisp \
- spad.lisp bits.lisp setq.lisp property.lisp \
- unlisp.lisp foam_l.lisp axext_l.lisp
-
-depsys_lisp_noncompiled_sources += $(depsys_lisp_macro_sources)
-depsys_lisp_SOURCES = $(addsuffix .pamphlet, $(depsys_lisp_sources))
+DEP= $(srcdir)/spaderror.lisp $(srcdir)/debug.lisp \
+ $(srcdir)/spad.lisp \
+ $(srcdir)/setq.lisp $(srcdir)/property.lisp \
+ $(srcdir)/unlisp.lisp $(srcdir)/foam_l.lisp \
+ $(srcdir)/axext_l.lisp
@
Once we've compile all of the Common Lisp files we fire up
@@ -381,36 +359,6 @@ OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
$(BROBJS)
interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
-
-AXIOMsys_noncompiled_lisp_sources = nocompil.lisp \
- postprop.lisp property.lisp setq.lisp
-
-AXIOMsys_compiled_lisp_sources = bits.lisp \
- bootlex.lisp cfuns.lisp comp.lisp construc.lisp daase.lisp \
- debug.lisp def.lisp fname.lisp fnewmeta.lisp ggreater.lisp \
- hash.lisp macros.lisp metalex.lisp monitor.lisp newaux.lisp \
- nlib.lisp nspadaux.lisp parsing.lisp \
- patches.lisp preparse.lisp \
- sockio.lisp spad.lisp spaderror.lisp \
- union.lisp util.lisp vmlisp.lisp obey.lisp \
- unlisp.lisp intint.lisp sfsfun-l.lisp \
- axext_l.lisp foam_l.lisp
-
-AXIOMsys_boot_sources = astr.boot alql.boot buildom.boot cattable.boot \
- cformat.boot clam.boot clammed.boot compat.boot compress.boot \
- cparse.boot cstream.boot database.boot dq.boot format.boot \
- g-boot.boot g-cndata.boot g-error.boot g-opt.boot g-timer.boot \
- g-util.boot hypertex.boot i-analy.boot i-code.boot i-coerce.boot \
- i-coerfn.boot i-eval.boot i-funsel.boot i-intern.boot i-map.boot \
- i-output.boot i-resolv.boot i-spec1.boot i-spec2.boot \
- i-syscmd.boot i-toplev.boot i-util.boot incl.boot int-top.boot \
- intfile.boot lisplib.boot macex.boot match.boot msg.boot \
- msgdb.boot newfort.boot nrunfast.boot nrungo.boot nrunopt.boot \
- nruntime.boot osyscmd.boot packtran.boot pathname.boot \
- pf2sex.boot pile.boot posit.boot ptrees.boot \
- record.boot rulesets.boot scan.boot serror.boot server.boot \
- setvars.boot sfsfun.boot simpbool.boot slam.boot template.boot \
- termrw.boot trace.boot fortcall.boot
@
Before we save the {\bf SAVESYS} image we need to run some
diff --git a/src/interp/axext_l.lisp.pamphlet b/src/interp/axext_l.lisp
index 3d03127c..27bad9cc 100644
--- a/src/interp/axext_l.lisp.pamphlet
+++ b/src/interp/axext_l.lisp
@@ -1,25 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/axext\_l.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -49,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
;; File containing primitives needed by exextend in order to interop with axiom
;; This file could do with some declares
@@ -62,7 +41,7 @@
(defun H-integer (l e)
(|AXL-LiteralToInteger| l))
-
+
(defun H-string (l e)
(|AXL-LiteralToString| l))
@@ -70,9 +49,9 @@
(|AXL-error| l))
(eval-when (load eval)
- (defconstant |G-axclique_string_305639517| (cons #'H-String nil))
- (defconstant |G-axclique_integer_685864888| (cons #'H-integer nil))
- (defconstant |G-axclique_error_011667951| (cons #'H-error nil)))
+ (defconstant |G-axclique_string_305639517| (cons #'H-String nil))
+ (defconstant |G-axclique_integer_685864888| (cons #'H-integer nil))
+ (defconstant |G-axclique_error_011667951| (cons #'H-error nil)))
;; Literals should be null-terminated strings
@@ -86,7 +65,7 @@
(defmacro |AXL-LiteralToDoubleFloat| (l)
`(read-from-string ,l nil (|DFlo0|)
- :preserve-whitespace t))
+ :preserve-whitespace t))
(defmacro |AXL-LiteralToString| (l)
`(subseq ,l 0 (- (length ,l) 1)))
@@ -105,15 +84,15 @@
(defmacro |AXL-plusInteger| (a b)
`(the |BInt| (+ (the |BInt| ,a)
- (the |BInt| ,b))))
+ (the |BInt| ,b))))
(defmacro |AXL-minusInteger| (a b)
`(the |BInt| (- (the |BInt| ,a)
- (the |BInt| ,b))))
+ (the |BInt| ,b))))
(defmacro |AXL-timesInteger| (a b)
`(the |BInt| (* (the |BInt| ,a)
- (the |BInt| ,b))))
+ (the |BInt| ,b))))
(defmacro |AXL-eqInteger| (a b)
`(= (the |BInt| ,a)
@@ -137,15 +116,15 @@
(defmacro |AXL-plusSingleInteger| (a b)
`(the |SInt| (+ (the |SInt| ,a)
- (the |SInt| ,b))))
+ (the |SInt| ,b))))
(defmacro |AXL-minusSingleInteger| (a b)
`(the |SInt| (- (the |SInt| ,a)
- (the |SInt| ,b))))
+ (the |SInt| ,b))))
(defmacro |AXL-timesSingleInteger| (a b)
`(the |SInt| (* (the |SInt| ,a)
- (the |SInt| ,b))))
+ (the |SInt| ,b))))
(defmacro |AXL-eqSingleInteger| (a b)
`(= (the |SInt| ,a)
@@ -222,9 +201,3 @@
(defun |AXL-spitSInt| (x)
(print x))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/bits.lisp b/src/interp/bits.lisp
index d6f26708..efff9357 100644
--- a/src/interp/bits.lisp
+++ b/src/interp/bits.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/boot-pkg.lisp b/src/interp/boot-pkg.lisp
index 596b2c15..3d4dc57c 100644
--- a/src/interp/boot-pkg.lisp
+++ b/src/interp/boot-pkg.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/bootlex.lisp b/src/interp/bootlex.lisp
index 35be2eaa..6fae9513 100644
--- a/src/interp/bootlex.lisp
+++ b/src/interp/bootlex.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/cfuns.lisp.pamphlet b/src/interp/cfuns.lisp
index d9bf72d5..5e0ab54d 100644
--- a/src/interp/cfuns.lisp.pamphlet
+++ b/src/interp/cfuns.lisp
@@ -1,18 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp cfuns.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -42,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
@@ -115,9 +101,3 @@
(defun |hashCombine| (x y) (system:|hashCombine| x y))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/comp.lisp b/src/interp/comp.lisp
index 66d56e7a..2c88d43f 100644
--- a/src/interp/comp.lisp
+++ b/src/interp/comp.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/daase.lisp.pamphlet b/src/interp/daase.lisp
index 018e6758..3d6b715c 100644
--- a/src/interp/daase.lisp.pamphlet
+++ b/src/interp/daase.lisp
@@ -1,85 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp daase.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{Database structure}
-In order to understand this program you need to understand some details
-of the structure of the databases it reads. Axiom has 5 databases,
-the interp.daase, operation.daase, category.daase, compress.daase, and
-browse.daase. The compress.daase is special and does not follow the
-normal database format.
-
-\subsection{KAF File Format}
-This documentation refers to KAF files which are random access files.
-NRLIB files are KAF files (look for NRLIB/index.KAF)
-The format of a random access file is
-\begin{verbatim}
-byte-offset-of-key-table
-first-entry
-second-entry
-...
-last-entry
-((key1 . first-entry-byte-address)
- (key2 . second-entry-byte-address)
- ...
- (keyN . last-entry-byte-address))
-\end{verbatim}
-The key table is a standard lisp alist.
-
-To open a database you fetch the first number, seek to that location,
-and (read) which returns the key-data alist. To look up data you
-index into the key-data alist, find the ith-entry-byte-address,
-seek to that address, and (read).
-
-For instance, see src/share/algebra/USERS.DAASE/index.KAF
-
-One existing optimization is that if the data is a simple thing like a
-symbol then the nth-entry-byte-address is replaced by immediate data.
-
-Another existing one is a compression algorithm applied to the
-data so that the very long names don't take up so much space.
-We could probably remove the compression algorithm as 64k is no
-longer considered 'huge'. The database-abbreviation routine
-handles this on read and write-compress handles this on write.
-The squeeze routine is used to compress the keys, the unsqueeze
-routine uncompresses them. Making these two routines disappear
-should remove all of the compression.
-
-Indeed, a faster optimization is to simply read the whole database
-into the image before it is saved. The system would be easier to
-understand and the interpreter would be faster.
-
-The system uses another optimization: database contains a stamp
-(consisting of offset to the main list and build time). Before
-saving the image selected data is fetched to memory. When the
-saved image starts it checks if the stamp of saved data matches
-in-core data -- in case of agreement in-core data is used.
-Parts of the datatabase which was not pre-loaded is still
-(lazily) fetched from the filesystem.
-
-\subsection{Database Files}
-
-Database files are very similar to KAF files except that there
-is an optimization (currently broken) which makes the first
-item a pair of two numbers. The first number in the pair is
-the offset of the key-value table, the second is a time stamp.
-If the time stamp in the database matches the time stamp in
-the image the database is not needed (since the internal hash
-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.
-
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -109,9 +31,70 @@ database.
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
+
+;; In order to understand this program you need to understand some details
+;; of the structure of the databases it reads. Axiom has 5 databases,
+;; the interp.daase, operation.daase, category.daase, compress.daase, and
+;; browse.daase. The compress.daase is special and does not follow the
+;; normal database format.
+;;
+;; This documentation refers to KAF files which are random access files.
+;; NRLIB files are KAF files (look for NRLIB/index.KAF)
+;; The format of a random access file is
+;; \begin{verbatim}
+;; byte-offset-of-key-table
+;; first-entry
+;; second-entry
+;; ...
+;; last-entry
+;; ((key1 . first-entry-byte-address)
+;; (key2 . second-entry-byte-address)
+;; ...
+;; (keyN . last-entry-byte-address))
+;; \end{verbatim}
+;; The key table is a standard lisp alist.
+;;
+;; To open a database you fetch the first number, seek to that location,
+;; and (read) which returns the key-data alist. To look up data you
+;; index into the key-data alist, find the ith-entry-byte-address,
+;; seek to that address, and (read).
+;;
+;; For instance, see src/share/algebra/USERS.DAASE/index.KAF
+;;
+;; One existing optimization is that if the data is a simple thing like a
+;; symbol then the nth-entry-byte-address is replaced by immediate data.
+;;
+;; Another existing one is a compression algorithm applied to the
+;; data so that the very long names don't take up so much space.
+;; We could probably remove the compression algorithm as 64k is no
+;; longer considered 'huge'. The database-abbreviation routine
+;; handles this on read and write-compress handles this on write.
+;; The squeeze routine is used to compress the keys, the unsqueeze
+;; routine uncompresses them. Making these two routines disappear
+;; should remove all of the compression.
+;;
+;; Indeed, a faster optimization is to simply read the whole database
+;; into the image before it is saved. The system would be easier to
+;; understand and the interpreter would be faster.
+;;
+;; The system uses another optimization: database contains a stamp
+;; (consisting of offset to the main list and build time). Before
+;; saving the image selected data is fetched to memory. When the
+;; saved image starts it checks if the stamp of saved data matches
+;; in-core data -- in case of agreement in-core data is used.
+;; Parts of the datatabase which was not pre-loaded is still
+;; (lazily) fetched from the filesystem.
+;;
+;; Database files are very similar to KAF files except that there
+;; is an optimization (currently broken) which makes the first
+;; item a pair of two numbers. The first number in the pair is
+;; the offset of the key-value table, the second is a time stamp.
+;; If the time stamp in the database matches the time stamp in
+;; the image the database is not needed (since the internal hash
+;; 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.
+
;;TTT 7/2/97
; Regarding the 'ancestors field for a category: At database build
@@ -438,17 +421,17 @@ database.
; (constructor-name
; operationalist
; constructormodemap
-; modemaps -- this should not be needed. eliminate it.
-; object -- the name of the object file to load for this con.
+; modemaps -- this should not be needed. eliminate it.
+; object -- the name of the object file to load for this con.
; constructorcategory -- note that this info is the cadar of the
-; constructormodemap for domains and packages so it is stored
-; as NIL for them. it is valid for categories.
-; niladic -- t or nil directly
+; constructormodemap for domains and packages so it is stored
+; as NIL for them. it is valid for categories.
+; niladic -- t or nil directly
; unused
-; cosig -- kept directly
-; constructorkind -- kept directly
-; defaultdomain -- a short list, for %i
-; ancestors -- used to compute new category updates
+; cosig -- kept directly
+; constructorkind -- kept directly
+; defaultdomain -- a short list, for %i
+; ancestors -- used to compute new category updates
; )
(defun interpOpen ()
"open the interpreter database and hash the keys"
@@ -759,7 +742,7 @@ database.
(when (setq struct (get constructor 'database))
(setq data (database-dependents struct))))
(otherwise (warn "~%(GETDATABASE ~a ~a) failed~%" constructor key)))
- (when (numberp data) ;fetch the real data
+ (when (numberp data) ;fetch the real data
(when *miss* (format t "getdatabase miss: ~20a ~a~%" key constructor))
(file-position stream data)
(setq data (unsqueeze (read stream)))
@@ -788,19 +771,19 @@ database.
(case key ; fixup the special cases
(sourcefile
(when (and data (string= (directory-namestring data) "")
- (string= (pathname-type data) "spad"))
+ (string= (pathname-type data) "spad"))
(setq data
(concatenate 'string (|systemRootDirectory|) "/../../src/algebra/" data))))
(asharp? ; is this asharp code?
(if (consp data)
(setq data (cdr data))
(setq data nil)))
- (object ; fix up system object pathname
+ (object ; fix up system object pathname
(if (consp data)
(setq data
- (if (string= (directory-namestring (car data)) "")
- (concatenate 'string (|systemRootDirectory|) "/algebra/" (car data) ".o")
- (car data)))
+ (if (string= (directory-namestring (car data)) "")
+ (concatenate 'string (|systemRootDirectory|) "/algebra/" (car data) ".o")
+ (car data)))
(when (and data (string= (directory-namestring data) ""))
(setq data (concatenate 'string (|systemRootDirectory|) "/algebra/" data ".o")))))))
data))
@@ -892,14 +875,14 @@ database.
(mapcan #'(lambda (f)
(when (string-equal (pathname-type f) "NRLIB")
(list (concatenate 'string (namestring f) "/"
- *index-filename*)))) allfiles)
+ *index-filename*)))) allfiles)
(mapcan #'(lambda (f)
(when (string= (pathname-type f) "asy")
(push (pathname-name f) skipasos)
(list (namestring f)))) allfiles)
(mapcan #'(lambda (f)
(when (and (string= (pathname-type f) "ao")
- (not (member (pathname-name f) skipasos :test #'string=)))
+ (not (member (pathname-name f) skipasos :test #'string=)))
(list (namestring f))))
allfiles)
;; At the moment we will only look for user.lib: others are taken care
@@ -922,7 +905,7 @@ database.
(when dir (multiple-value-setq (nrlibs asys asos libs) (processDir dir thisdir)))
(dolist (file filelist)
(let ((filename (pathname-name file))
- (namedir (directory-namestring file)))
+ (namedir (directory-namestring file)))
(unless namedir (setq thisdir (concatenate 'string thisdir "/")))
(cond
((setq file (probe-file
@@ -970,19 +953,19 @@ database.
(setq key (first domain))
(setq alist (rest domain))
(setq asharp-name
- (foam::axiomxl-global-name (pathname-name object) key
- (lassoc '|typeCode| alist)))
+ (foam::axiomxl-global-name (pathname-name object) key
+ (lassoc '|typeCode| alist)))
(if (< (length alist) 4) ;we have a naked function object
- (let ((opname key)
- (modemap (car (LASSOC '|modemaps| alist))) )
- (setq oldmaps (getdatabase opname 'operation))
- (setf (gethash opname *operation-hash*)
- (adjoin (subst asharp-name opname (cdr modemap))
- oldmaps :test #'equal))
- (asharpMkAutoloadFunction object asharp-name))
+ (let ((opname key)
+ (modemap (car (LASSOC '|modemaps| alist))) )
+ (setq oldmaps (getdatabase opname 'operation))
+ (setf (gethash opname *operation-hash*)
+ (adjoin (subst asharp-name opname (cdr modemap))
+ oldmaps :test #'equal))
+ (asharpMkAutoloadFunction object asharp-name))
(when (if (null only) (not (eq key '%%)) (member key only))
- (setq *allOperations* nil) ; force this to recompute
- (setq oldmaps (getdatabase key 'modemaps))
+ (setq *allOperations* nil) ; force this to recompute
+ (setq oldmaps (getdatabase key 'modemaps))
(setq dbstruct (make-database))
(setf (get key 'database) dbstruct)
(setq *allconstructors* (adjoin key *allconstructors*))
@@ -993,10 +976,10 @@ database.
(setf (database-constructormodemap dbstruct)
(fetchdata alist "constructorModemap"))
(unless (setf (database-abbreviation dbstruct)
- (fetchdata alist "abbreviation"))
- (setf (database-abbreviation dbstruct) key)) ; default
- (setq abbrev (database-abbreviation dbstruct))
- (setf (get abbrev 'abbreviationfor) key)
+ (fetchdata alist "abbreviation"))
+ (setf (database-abbreviation dbstruct) key)) ; default
+ (setq abbrev (database-abbreviation dbstruct))
+ (setf (get abbrev 'abbreviationfor) key)
(setf (database-constructorcategory dbstruct)
(fetchdata alist "constructorCategory"))
(setf (database-attributes dbstruct)
@@ -1013,23 +996,23 @@ database.
(fetchdata alist "predicates"))
(setf (database-niladic dbstruct)
(fetchdata alist "NILADIC"))
- (addoperations key oldmaps)
- (setq cname (|opOf| (database-constructorform dbstruct)))
- (setq kind (database-constructorkind dbstruct))
- (if (null noexpose) (|setExposeAddConstr| (cons cname nil)))
- (unless make-database?
+ (addoperations key oldmaps)
+ (setq cname (|opOf| (database-constructorform dbstruct)))
+ (setq kind (database-constructorkind dbstruct))
+ (if (null noexpose) (|setExposeAddConstr| (cons cname nil)))
+ (unless make-database?
(|updateDatabase| key cname systemdir?) ;makes many hashtables???
(|installConstructor| cname kind)
;; following can break category database build
- (if (eq kind '|category|)
- (setf (database-ancestors dbstruct)
- (fetchdata alist "ancestors")))
- (if (eq kind '|domain|)
- (dolist (pair (cdr (assoc "ancestors" alist :test #'string=)))
- (setf (gethash (cons cname (caar pair)) *hascategory-hash*)
- (cdr pair))))
- (if |$InteractiveMode| (setq |$CategoryFrame| |$EmptyEnvironment|)))
- (setf (database-cosig dbstruct)
+ (if (eq kind '|category|)
+ (setf (database-ancestors dbstruct)
+ (fetchdata alist "ancestors")))
+ (if (eq kind '|domain|)
+ (dolist (pair (cdr (assoc "ancestors" alist :test #'string=)))
+ (setf (gethash (cons cname (caar pair)) *hascategory-hash*)
+ (cdr pair))))
+ (if |$InteractiveMode| (setq |$CategoryFrame| |$EmptyEnvironment|)))
+ (setf (database-cosig dbstruct)
(cons nil (mapcar #'|categoryForm?|
(cddar (database-constructormodemap dbstruct)))))
(setf (database-object dbstruct) (cons object asharp-name))
@@ -1038,7 +1021,7 @@ database.
(database-cosig dbstruct))
(asharpMkAutoLoadFunctor object cname asharp-name
(database-cosig dbstruct)))
- (|sayKeyedMsg| 'S2IU0001 (list cname object))))))))
+ (|sayKeyedMsg| 'S2IU0001 (list cname object))))))))
(defun localnrlib (key nrlib object make-database? noexpose)
"given a string pathname of an index.KAF and the object update the database"
@@ -1062,7 +1045,7 @@ database.
(setq *allconstructors* (adjoin key *allconstructors*))
(setf (get key 'database) dbstruct) ; store the struct, side-effect it...
(setf (database-constructorform dbstruct) constructorform)
- (setq *allOperations* nil) ; force this to recompute
+ (setq *allOperations* nil) ; force this to recompute
(setf (database-object dbstruct) object)
(setq abbrev
(intern (pathname-name (first (last (pathname-directory object))))))
@@ -1094,7 +1077,7 @@ database.
(unless make-database?
(if (eq kind '|category|)
(setf (database-ancestors dbstruct)
- (SUBLISLIS |$FormalMapVariableList| (cdr constructorform) (fetchdata alist in "ancestors"))))
+ (SUBLISLIS |$FormalMapVariableList| (cdr constructorform) (fetchdata alist in "ancestors"))))
(|updateDatabase| key key systemdir?) ;makes many hashtables???
(|installConstructor| key kind) ;used to be key cname ...
(|updateCategoryTable| key kind)
@@ -1183,12 +1166,12 @@ database.
(list (list '|dir| (namestring (truename "./")) ))
'make-database)
(dolist (dir dirlist)
- (localdatabase nil
- (list (list '|dir|
- (namestring (probe-file
- (format nil "./~a"
- dir)))))
- 'make-database))
+ (localdatabase nil
+ (list (list '|dir|
+ (namestring (probe-file
+ (format nil "./~a"
+ dir)))))
+ 'make-database))
#+:AKCL (|mkTopicHashTable|)
(setq |$constructorList| nil) ;; affects buildLibdb
(|buildLibdb|)
@@ -1209,37 +1192,37 @@ database.
(dolist (con (|allConstructors|))
(let (dbstruct)
(when (setq dbstruct (get con 'database))
- (setf (database-cosig dbstruct)
- (cons nil (mapcar #'|categoryForm?|
- (cddar (database-constructormodemap dbstruct)))))
- (when (and (|categoryForm?| con)
- (= (length (setq d (|domainsOf| (list con) NIL NIL))) 1))
- (setq d (caar d))
- (when (= (length d) (length (|getConstructorForm| con)))
- (format t " ~a has a default domain of ~a~%" con (car d))
- (setf (database-defaultdomain dbstruct) (car d)))))))
- ; note: genCategoryTable creates *ancestors-hash*. write-interpdb
- ; does gethash calls into it rather than doing a getdatabase call.
+ (setf (database-cosig dbstruct)
+ (cons nil (mapcar #'|categoryForm?|
+ (cddar (database-constructormodemap dbstruct)))))
+ (when (and (|categoryForm?| con)
+ (= (length (setq d (|domainsOf| (list con) NIL NIL))) 1))
+ (setq d (caar d))
+ (when (= (length d) (length (|getConstructorForm| con)))
+ (format t " ~a has a default domain of ~a~%" con (car d))
+ (setf (database-defaultdomain dbstruct) (car d)))))))
+ ; note: genCategoryTable creates *ancestors-hash*. write-interpdb
+ ; does gethash calls into it rather than doing a getdatabase call.
(write-interpdb)
#+:AKCL (write-warmdata)
(create-initializers)
(when (probe-file (final-name "compress"))
- (delete-file (final-name "compress")))
+ (delete-file (final-name "compress")))
(rename-file "compress.build" (final-name "compress"))
(when (probe-file (final-name "interp"))
- (delete-file (final-name "interp")))
+ (delete-file (final-name "interp")))
(rename-file "interp.build" (final-name "interp"))
(when (probe-file (final-name "operation"))
- (delete-file (final-name "operation")))
+ (delete-file (final-name "operation")))
(rename-file "operation.build" (final-name "operation"))
(when (probe-file (final-name "browse"))
- (delete-file (final-name "browse")))
+ (delete-file (final-name "browse")))
(rename-file "browse.build"
- (final-name "browse"))
+ (final-name "browse"))
(when (probe-file (final-name "category"))
- (delete-file (final-name "category")))
+ (delete-file (final-name "category")))
(rename-file "category.build"
- (final-name "category")))))
+ (final-name "category")))))
(defun DaaseName (name erase?)
(let (daase filename)
@@ -1248,9 +1231,9 @@ database.
(setq filename (concatenate 'string daase name))
(format t " Using local database ~a.." filename))
(setq filename (concatenate 'string
- (|systemRootDirectory|)
- "/algebra/"
- name)))
+ (|systemRootDirectory|)
+ "/algebra/"
+ name)))
(when erase? (system::system (concatenate 'string "rm -f " filename)))
filename))
@@ -1266,16 +1249,6 @@ database.
;; (when erase? (system::system (concatenate 'string "rm -f " filename)))
;; filename))
-@
-\subsection{compress.daase}
-The compress database is special. It contains a list of symbols.
-The character string name of a symbol in the other databases is
-represented by a negative number. To get the real symbol back you
-take the absolute value of the number and use it as a byte index
-into the compress database. In this way long symbol names become
-short negative numbers.
-
-<<*>>=
(defun compressOpen ()
(let (lst stamp pos)
@@ -1300,7 +1273,7 @@ short negative numbers.
(finish-output out)
(setq masterpos (file-position out))
(setq compresslist
- (append (|allConstructors|) (|allOperations|) *attributes*))
+ (append (|allConstructors|) (|allOperations|) *attributes*))
(push "algebra" compresslist)
(push "failed" compresslist)
(push 'signature compresslist)
@@ -1329,221 +1302,12 @@ short negative numbers.
(finish-output out)
(close out)))
-@
-\subsubsection{interp.daase}
-\begin{verbatim}
- format of an entry in interp.daase:
- (constructor-name
- operationalist
- constructormodemap
- modemaps -- this should not be needed. eliminate it.
- object -- the name of the object file to load for this con.
- constructorcategory -- note that this info is the cadar of the
- constructormodemap for domains and packages so it is stored
- as NIL for them. it is valid for categories.
- niladic -- t or nil directly
- unused
- cosig -- kept directly
- constructorkind -- kept directly
- defaultdomain -- a short list, for %i
- ancestors -- used to compute new category updates
- )
-\end{verbatim}
-
-Here I'll try to outline the interp database write procedure
-
-\begin{verbatim}
-(defun write-interpdb ()
- "build interp.daase from hash tables"
- (declare (special *ancestors-hash*))
- (let (opalistpos modemapspos cmodemappos master masterpos obj *print-pretty*
- concategory categorypos kind niladic cosig abbrev defaultdomain
- ancestors ancestorspos out)
- (declare (special *print-pretty*))
- (print "building interp.daase")
-
-; 1. We open the file we're going to create
-
- (setq out (open "interp.build" :direction :output))
-
-; 2. We reserve some space at the top of the file for the key-time pair
-; We will overwrite these spaces just before we close the file.
-
- (princ " " out)
-
-; 3. Make sure we write it out
- (finish-output out)
-
-; 4. For every constructor in the system we write the parts:
-
- (dolist (constructor (|allConstructors|))
- (let (struct)
-
-; 4a. Each constructor has a property list. A property list is a list
-; of (key . value) pairs. The property we want is called 'database
-; so there is a ('database . something) in the property list
-
- (setq struct (get constructor 'database))
-
-; 5 We write the "operationsalist"
-; 5a. We remember the current file position before we write
-; We need this information so we can seek to this position on read
-
- (setq opalistpos (file-position out))
-
-; 5b. We get the "operationalist", compress it, and write it out
-
- (print (squeeze (database-operationalist struct)) out)
-
-; 5c. We make sure it was written
-
- (finish-output out)
-
-; 6 We write the "constructormodemap"
-; 6a. We remember the current file position before we write
-
- (setq cmodemappos (file-position out))
-
-; 6b. We get the "constructormodemap", compress it, and write it out
-
- (print (squeeze (database-constructormodemap struct)) out)
-
-; 6c. We make sure it was written
-
- (finish-output out)
-
-; 7. We write the "modemaps"
-; 7a. We remember the current file position before we write
-
- (setq modemapspos (file-position out))
-
-; 7b. We get the "modemaps", compress it, and write it out
-
- (print (squeeze (database-modemaps struct)) out)
-
-; 7c. We make sure it was written
-
- (finish-output out)
-
-; 8. We remember source file pathnames in the obj variable
-
- (if (consp (database-object struct)) ; if asharp code ...
- (setq obj
- (cons (pathname-name (car (database-object struct)))
- (cdr (database-object struct))))
- (setq obj
- (pathname-name
- (first (last (pathname-directory (database-object struct)))))))
-
-; 9. We write the "constructorcategory", if it is a category, else nil
-; 9a. Get the constructorcategory and compress it
-
- (setq concategory (squeeze (database-constructorcategory struct)))
-
-; 9b. If we have any data we write it out, else we don't write it
-; Note that if there is no data then the byte index for the
-; constructorcatagory will not be a number but will be nil.
-
- (if concategory ; if category then write data else write nil
- (progn
- (setq categorypos (file-position out))
- (print concategory out)
- (finish-output out))
- (setq categorypos nil))
-
-; 10. We get a set of properties which are kept as "immediate" data
-; This means that the key table will hold this data directly
-; rather than as a byte index into the file.
-; 10a. niladic data
-
- (setq niladic (database-niladic struct))
-
-; 10b. abbreviation data (e.g. POLY for polynomial)
-
- (setq abbrev (database-abbreviation struct))
-
-; 10c. cosig data
-
- (setq cosig (database-cosig struct))
-
-; 10d. kind data
-
- (setq kind (database-constructorkind struct))
-
-; 10e. defaultdomain data
-
- (setq defaultdomain (database-defaultdomain struct))
-
-; 11. The ancestor data might exist. If it does we fetch it,
-; compress it, and write it out. If it does not we place
-; and immediate value of nil in the key-value table
-
- (setq ancestors (squeeze (gethash constructor *ancestors-hash*))) ;cattable.boot
- (if ancestors
- (progn
- (setq ancestorspos (file-position out))
- (print ancestors out)
- (finish-output out))
- (setq ancestorspos nil))
-
-; 12. "master" is an alist. Each element of the alist has the name of
-; the constructor and all of the above attributes. When the loop
-; finishes we will have constructed all of the data for the key-value
-; table
-
- (push (list constructor opalistpos cmodemappos modemapspos
- obj categorypos niladic abbrev cosig kind defaultdomain
- ancestorspos) master)))
-
-; 13. The loop is done, we make sure all of the data is written
-
- (finish-output out)
-
-; 14. We remember where the key-value table will be written in the file
-
- (setq masterpos (file-position out))
-
-; 15. We compress and print the key-value table
-
- (print (mapcar #'squeeze master) out)
-
-; 16. We make sure we write the table
-
- (finish-output out)
-
-; 17. We go to the top of the file
-
- (file-position out 0)
-
-; 18. We write out the (master-byte-position . universal-time) pair
-; Note that if the universal-time value matches the value of
-; *interp-stream-stamp* then there is no reason to read the
-; interp database because all of the data is already cached in
-; the image. This happens if you build a database and immediatly
-; save the image. The saved image already has the data since we
-; just wrote it out. If the *interp-stream-stamp* and the database
-; time stamp differ we "reread" the database on startup. Actually
-; we just open the database and fetch as needed. You can see fetches
-; by setting the *miss* variable non-nil.
-
- (print (cons masterpos (get-universal-time)) out)
-
-; 19. We make sure we write it.
-
- (finish-output out)
-
-; 20 And we are done
-
- (close out)))
-\end{verbatim}
-
-<<*>>=
(defun write-interpdb ()
"build interp.daase from hash tables"
(declare (special *ancestors-hash*))
(let (opalistpos modemapspos cmodemappos master masterpos obj *print-pretty*
- concategory categorypos kind niladic cosig abbrev defaultdomain
- ancestors ancestorspos out)
+ concategory categorypos kind niladic cosig abbrev defaultdomain
+ ancestors ancestorspos out)
(declare (special *print-pretty*))
(print "building interp.daase")
(setq out (open "interp.build" :direction :output))
@@ -1599,29 +1363,6 @@ Here I'll try to outline the interp database write procedure
(finish-output out)
(close out)))
-@
-\subsubsection{browse.daase}
-\begin{verbatim}
- format of an entry in browse.daase:
- ( constructorname
- sourcefile
- constructorform
- documentation
- attributes
- predicates
- )
-\end{verbatim}
-This is essentially the same overall process as write-interpdb.
-
-We reserve some space for the (key-table-byte-position . timestamp)
-
-We loop across the list of constructors dumping the data and
-remembering the byte positions in a key-value pair table.
-
-We dump the final key-value pair table, write the byte position and
-time stamp at the top of the file and close the file.
-
-<<*>>=
(defun write-browsedb ()
"make browse.daase from hash tables"
(let (master masterpos src formpos docpos attpos predpos *print-pretty* out)
@@ -1657,11 +1398,6 @@ time stamp at the top of the file and close the file.
(finish-output out)
(close out)))
-@
-\subsubsection{category.daase}
-This is a single table of category hash table information, dumped in the
-database format.
-<<*>>=
(defun write-categorydb ()
"make category.daase from scratch. contains the *hasCategory-hash* table"
(let (out master pos *print-pretty*)
@@ -1690,12 +1426,12 @@ database format.
(defun unsqueeze (expr)
(cond ((atom expr)
- (cond ((and (numberp expr) (<= expr 0))
- (svref *compressVector* (- expr)))
- (t expr)))
- (t (rplaca expr (unsqueeze (car expr)))
- (rplacd expr (unsqueeze (cdr expr)))
- expr)))
+ (cond ((and (numberp expr) (<= expr 0))
+ (svref *compressVector* (- expr)))
+ (t expr)))
+ (t (rplaca expr (unsqueeze (car expr)))
+ (rplacd expr (unsqueeze (cdr expr)))
+ expr)))
(defun squeeze (expr)
(let (leaves pos (bound (length *compressvector*)))
@@ -1718,11 +1454,6 @@ database format.
(nsubst (- pos) leaf expr)))
expr)))
-@
-\subsubsection{operation.daase}
-This is a single table of operations hash table information, dumped in the
-database format.
-<<*>>=
(defun write-operationdb ()
(let (pos master out)
(declare (special leaves))
@@ -1772,8 +1503,8 @@ database format.
;; (dolist (con (|allConstructors|))
;; (let ((sourcefile (getdatabase con 'sourcefile)))
;; (if sourcefile
-;; (set (foam::axiomxl-file-init-name (pathname-name sourcefile))
-;; NOPfuncall))))
+;; (set (foam::axiomxl-file-init-name (pathname-name sourcefile))
+;; NOPfuncall))))
(set (foam::axiomxl-file-init-name "axiom") NOPfuncall)
;; (set (foam::axiomxl-file-init-name "axclique") NOPfuncall)
(set (foam::axiomxl-file-init-name "filecliq") NOPfuncall)
@@ -1814,8 +1545,8 @@ database format.
(let ((ccc (gensym)) (cfun (gensym)) (cenv (gensym)))
`(let ((,ccc ,fun))
(let ((,cfun (|ClosFun| ,ccc))
- (,cenv (|ClosEnv| ,ccc)))
- (funcall ,cfun ,@args ,cenv )))))
+ (,cenv (|ClosEnv| ,ccc)))
+ (funcall ,cfun ,@args ,cenv )))))
(defmacro |ClosFun| (x) `(car ,x))
(defmacro |ClosEnv| (x) `(cdr ,x))
@@ -1845,7 +1576,7 @@ database format.
(defun wrapDomArgs (obj type?)
(cond ((not type?) obj)
- (t (|makeOldAxiomDispatchDomain| obj))))
+ (t (|makeOldAxiomDispatchDomain| obj))))
;; CCL doesn't have closures, so we use an intermediate function in
;; asharpMkAutoLoadFunctor.
@@ -1921,15 +1652,15 @@ database format.
(let ((func (getconstructor (eval (file-getter-name file)) asharp-name)))
(setf (symbol-function packname)
(if (vectorp (car func))
- #'(lambda (self)
- (|CCall| (elt (car func) 5) (cdr func) (wrapDomArgs self t))) ;; constant category
- #'(lambda (self &rest args)
- (let ((precat
- (apply (|ClosFun| func)
- (nconc
- (mapcar #'wrapDomArgs args (cdr cosig))
- (list (|ClosEnv| func))))))
- (|CCall| (elt (car precat) 5) (cdr precat) (wrapDomArgs self t))))))
+ #'(lambda (self)
+ (|CCall| (elt (car func) 5) (cdr func) (wrapDomArgs self t))) ;; constant category
+ #'(lambda (self &rest args)
+ (let ((precat
+ (apply (|ClosFun| func)
+ (nconc
+ (mapcar #'wrapDomArgs args (cdr cosig))
+ (list (|ClosEnv| func))))))
+ (|CCall| (elt (car precat) 5) (cdr precat) (wrapDomArgs self t))))))
(apply packname self args))))))
#+:CCL
@@ -1947,10 +1678,10 @@ database format.
(set asharpname
(cons
#'(lambda (&rest l)
- (let ((args (butlast l))
- (func (getconstructor (eval (file-getter-name file)) asharpname)))
- (apply (car func) (append args (list (cdr func))))))
- ())))
+ (let ((args (butlast l))
+ (func (getconstructor (eval (file-getter-name file)) asharpname)))
+ (apply (car func) (append args (list (cdr func))))))
+ ())))
; this function will return the internal name of the file object getter
@@ -1963,11 +1694,11 @@ database format.
(defun set-file-getter (filename)
(let ((getter-name (file-getter-name filename)))
(set getter-name
- (cons #'init-file-getter (cons getter-name filename)))))
+ (cons #'init-file-getter (cons getter-name filename)))))
(defun init-file-getter (env)
(let ((getter-name (car env))
- (filename (cdr env)))
+ (filename (cdr env)))
#-:CCL
(load filename)
#+:CCL
@@ -1977,12 +1708,12 @@ database format.
(defun set-lib-file-getter (filename cname)
(let ((getter-name (file-getter-name filename)))
(set getter-name
- (cons #'init-lib-file-getter (cons getter-name cname)))))
+ (cons #'init-lib-file-getter (cons getter-name cname)))))
(defun init-lib-file-getter (env)
(let* ((getter-name (car env))
- (cname (cdr env))
- (filename (getdatabase cname 'object)))
+ (cname (cdr env))
+ (filename (getdatabase cname 'object)))
#-:CCL
(load filename)
#+:CCL
@@ -1992,36 +1723,36 @@ database format.
;; following 2 functions are called by file-exports and file-imports macros
(defun foam::process-import-entry (entry)
(let* ((asharpname (car entry))
- (stringname (cadr entry))
- (hcode (caddr entry))
- (libname (cadddr entry))
- (bootname (intern stringname 'boot)))
+ (stringname (cadr entry))
+ (hcode (caddr entry))
+ (libname (cadddr entry))
+ (bootname (intern stringname 'boot)))
(declare (ignore libname))
(if (and (eq hcode 'foam-user::|initializer|) (not (boundp asharpname)))
- (error (format nil "AxiomXL file ~s is missing!" stringname)))
+ (error (format nil "AxiomXL file ~s is missing!" stringname)))
(unless (or (not (numberp hcode)) (zerop hcode) (boundp asharpname))
- (when (|constructor?| bootname)
- (set asharpname
- (if (getdatabase bootname 'niladic)
- (|makeLazyOldAxiomDispatchDomain| (list bootname))
- (cons '|runOldAxiomFunctor| bootname))))
- (when (|attribute?| bootname)
- (set asharpname (|makeLazyOldAxiomDispatchDomain| bootname))))))
-
-
+ (when (|constructor?| bootname)
+ (set asharpname
+ (if (getdatabase bootname 'niladic)
+ (|makeLazyOldAxiomDispatchDomain| (list bootname))
+ (cons '|runOldAxiomFunctor| bootname))))
+ (when (|attribute?| bootname)
+ (set asharpname (|makeLazyOldAxiomDispatchDomain| bootname))))))
+
+
;(defun foam::process-export-entry (entry)
; (let* ((asharpname (car entry))
-; (stringname (cadr entry))
-; (hcode (caddr entry))
-; (libname (cadddr entry))
-; (bootname (intern stringname 'boot)))
+; (stringname (cadr entry))
+; (hcode (caddr entry))
+; (libname (cadddr entry))
+; (bootname (intern stringname 'boot)))
; (declare (ignore libname))
; (when (numberp hcode)
-; (setf (get bootname 'asharp-name)
-; (cons (cons *this-file* asharpname)
-; (get bootname 'asharp-name)))
-; )))
+; (setf (get bootname 'asharp-name)
+; (cons (cons *this-file* asharpname)
+; (get bootname 'asharp-name)))
+; )))
@@ -2029,9 +1760,3 @@ database format.
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/debug.lisp.pamphlet b/src/interp/debug.lisp
index b4ceeed3..88896531 100644
--- a/src/interp/debug.lisp.pamphlet
+++ b/src/interp/debug.lisp
@@ -1,80 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/debug.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{interrupt}
-
-A "resumable" break loop for use in trace etc. Unfortunately this
-only works for CCL. We need to define a Common Lisp version. For
-now the function is defined but does nothing.
-<<interrupt>>=
-#-:CCL
-(defun interrupt (&rest ignore))
-
-#+:CCL
-(defun interrupt (&rest ignore)
- (prog (prompt ifile ofile u v)
- (setq ifile (rds *debug-io*))
- (setq ofile (wrs *debug-io*))
- (setq prompt (setpchar "Break loop (:? for help)> "))
-top (setq u (read))
- (cond
- ((equal u ':x) (go exit))
- ((equal u ':r) (go resume))
- ((equal u ':q)
- (progn (lisp::enable-backtrace nil)
- (princ "Backtrace now disabled")
- (terpri)))
- ((equal u ':v)
- (progn (lisp::enable-backtrace t)
- (princ "Backtrace now enabled")
- (terpri)))
- ((equal u ':?)
- (progn
- (princ ":Q disables backtrace")
- (terpri)
- (princ ":V enables backtrace")
- (terpri)
- (princ ":R resumes from break")
- (terpri)
- (princ ":X exits from break loop")
- (terpri)
- (princ "else enter LISP expressions for evaluation")
- (terpri)))
- ((equal u #\eof)
- (go exit))
- (t (progn
- (setq v (errorset u nil nil))
- (if (listp v) (progn (princ "=> ") (prinl (car v)) (terpri))))) )
- (go top)
-resume (rds ifile)
- (wrs ofile)
- (setpchar prompt)
- (return nil)
-exit (rds ifile)
- (wrs ofile)
- (setpchar prompt)
- (lisp::unwind)))
-
-@
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -104,11 +31,14 @@ exit (rds ifile)
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
-;;; @(#)debug.lisp 2.5 90/02/15 10:27:33
+
+;; A "resumable" break loop for use in trace etc. Unfortunately this
+;; only works for CCL. We need to define a Common Lisp version. For
+;; now the function is defined but does nothing.
+
+
+;;; @(#)debug.lisp 2.5 90/02/15 10:27:33
; NAME: Debugging Package
; PURPOSE: Debugging hooks for Boot code
@@ -141,7 +71,7 @@ exit (rds ifile)
(MAKEPROP 'SPAD '/TRAN '/TRANSPAD)
(defmacro |/C,LIB| (&rest L &aux optionlist /editfile
- ($prettyprint 't) ($reportCompilation 't))
+ ($prettyprint 't) ($reportCompilation 't))
(declare (special optionlist /editfile $prettyprint $reportComilation))
`',(|compileConstructorLib| L (/COMP) NIL NIL))
@@ -182,7 +112,7 @@ exit (rds ifile)
(SETQ OUTSTREAM (if TO (DEFSTREAM TO 'OUTPUT) CUROUTSTREAM))
(RETURN (mapcar #'(lambda (fn)
(/D-2 FN INFILE OUTSTREAM OP EFLG TFLG))
- (or fnl (list /fn)))))))
+ (or fnl (list /fn)))))))
(DEFUN |/D,2,LIB| (FN INFILE CUROUTSTREAM OP EDITFLAG TRACEFLAG)
(declare (special CUROUTSTREAM))
@@ -194,38 +124,38 @@ exit (rds ifile)
(DEFUN /D-2 (FN INFILE OUTPUTSTREAM OP EDITFLAG TRACEFLAG)
(declare (special OUTPUTSTREAM))
(PROG (FT oft SFN X EDINFILE FILE DEF KEY RECNO U W SOURCEFILES
- ECHOMETA SINGLINEMODE XCAPE XTOKENREADER INPUTSTREAM SPADERRORSTREAM
- ISID NBLNK COMMENTCHR $TOKSTACK (/SOURCEFILES |$sourceFiles|)
- METAKEYLST DEFINITION_NAME (|$sourceFileTypes| '(|spad| |boot| |lisp| |lsp| |meta|))
- ($FUNCTION FN) $BOOT $NEWSPAD $LINESTACK $LINENUMBER STACK STACKX BACK OK
- TRAPFLAG |$InteractiveMode| TOK COUNT ERRCOL COLUMN *QUERY CHR LINE
- (*COMP370-APPLY* (if (eq op 'define) #'eval-defun #'compile-defun)))
- (declare (special ECHOMETA SINGLINEMODE XCAPE XTOKENREADER INPUTSTREAM
- SPADERRORSTREAM ISID NBLNK COMMENTCHR $TOKSTACK /SOURCEFILES
- METAKEYLST DEFINITION_NAME |$sourceFileTypes|
- $FUNCTION $BOOT $NEWSPAD $LINESTACK $LINENUMBER STACK STACKX BACK OK
- TRAPFLAG |$InteractiveMode| TOK COUNT ERRCOL COLUMN *QUERY CHR LINE))
+ ECHOMETA SINGLINEMODE XCAPE XTOKENREADER INPUTSTREAM SPADERRORSTREAM
+ ISID NBLNK COMMENTCHR $TOKSTACK (/SOURCEFILES |$sourceFiles|)
+ METAKEYLST DEFINITION_NAME (|$sourceFileTypes| '(|spad| |boot| |lisp| |lsp| |meta|))
+ ($FUNCTION FN) $BOOT $NEWSPAD $LINESTACK $LINENUMBER STACK STACKX BACK OK
+ TRAPFLAG |$InteractiveMode| TOK COUNT ERRCOL COLUMN *QUERY CHR LINE
+ (*COMP370-APPLY* (if (eq op 'define) #'eval-defun #'compile-defun)))
+ (declare (special ECHOMETA SINGLINEMODE XCAPE XTOKENREADER INPUTSTREAM
+ SPADERRORSTREAM ISID NBLNK COMMENTCHR $TOKSTACK /SOURCEFILES
+ METAKEYLST DEFINITION_NAME |$sourceFileTypes|
+ $FUNCTION $BOOT $NEWSPAD $LINESTACK $LINENUMBER STACK STACKX BACK OK
+ TRAPFLAG |$InteractiveMode| TOK COUNT ERRCOL COLUMN *QUERY CHR LINE))
(if (PAIRP FN) (SETQ FN (QCAR FN)))
(SETQ INFILE (OR INFILE (|getFunctionSourceFile| FN)))
- ;; $FUNCTION is freely set in getFunctionSourceFile
- (IF (PAIRP $FUNCTION) (SETQ $FUNCTION (QCAR $FUNCTION)))
+ ;; $FUNCTION is freely set in getFunctionSourceFile
+ (IF (PAIRP $FUNCTION) (SETQ $FUNCTION (QCAR $FUNCTION)))
(SETQ FN $FUNCTION)
(SETQ /FN $FUNCTION)
LOOP (SETQ SOURCEFILES
(cond ( INFILE
- (SETQ /SOURCEFILES (CONS INFILE (REMOVE INFILE /SOURCEFILES)))
- (LIST INFILE))
- ( /EDITFILE
- (|insert| (|pathname| /EDITFILE) /SOURCEFILES))
- ( 't /SOURCEFILES)))
+ (SETQ /SOURCEFILES (CONS INFILE (REMOVE INFILE /SOURCEFILES)))
+ (LIST INFILE))
+ ( /EDITFILE
+ (|insert| (|pathname| /EDITFILE) /SOURCEFILES))
+ ( 't /SOURCEFILES)))
(SETQ RECNO
(dolist (file sourcefiles)
(SETQ INPUTSTREAM (DEFSTREAM FILE 'INPUT))
;;?(REMFLAG S-SPADKEY 'KEY) ; hack !!
- (SETQ FT (|pathnameType| FILE))
- (SETQ oft (|object2Identifier| (UPCASE FT)))
- (SETQ XCAPE (OR (GET oft '/XCAPE) #\|))
+ (SETQ FT (|pathnameType| FILE))
+ (SETQ oft (|object2Identifier| (UPCASE FT)))
+ (SETQ XCAPE (OR (GET oft '/XCAPE) #\|))
(SETQ COMMENTCHR (GET oft '/COMMENTCHR))
(SETQ XTOKENREADER (OR (GET oft '/NXTTOK) 'METATOK))
(SETQ DEFINITION_NAME FN)
@@ -238,7 +168,7 @@ exit (rds ifile)
(PNAME FN)))
(SETQ SFN (GET oFT '/READFUN))
(SETQ RECNO (/LOCATE FN KEY FILE 0))
- (SHUT INPUTSTREAM)
+ (SHUT INPUTSTREAM)
(cond ((NUMBERP RECNO)
(SETQ /SOURCEFILES (CONS FILE (REMOVE FILE /SOURCEFILES)))
(SETQ INFILE FILE)
@@ -247,9 +177,9 @@ exit (rds ifile)
(if (SETQ INFILE (/MKINFILENAM '(NIL))) (GO LOOP) (UNWIND)))
(TERPRI)
(TERPRI)
- (SETQ INFILE (|pathname| INFILE))
- (COND
- ( EDITFLAG
+ (SETQ INFILE (|pathname| INFILE))
+ (COND
+ ( EDITFLAG
;;%% next form is used because $FINDFILE seems to screw up
;;%% sometimes. The stream is opened and closed several times
;;%% in case the filemode has changed during editing.
@@ -265,81 +195,81 @@ exit (rds ifile)
(STRINGIMAGE $LINENUMBER)))
(SHUT INPUTSTREAM)
;(COND
- ; ( (EQ (READ ERRORINSTREAM) 'ABORTPROCESS)
- ; (RETURN 'ABORT) ) )
+ ; ( (EQ (READ ERRORINSTREAM) 'ABORTPROCESS)
+ ; (RETURN 'ABORT) ) )
;;%% next is done in case the diskmode changed
;;(SETQ INFILE (|pathname| (IFCAR
- ;; (QSORT ($LISTFILE INFILE)))))
+ ;; (QSORT ($LISTFILE INFILE)))))
(SETQ INPUTSTREAM (DEFSTREAM INFILE 'INPUT))
(SETQ RECNO (/LOCATE FN KEY INFILE RECNO))
-
- (COND ((NOT RECNO)
- (|sayBrightly| (LIST " Warning: function" "%b" /FN "%d"
- "was not found in the file" "%l" " " "%b"
- (|namestring| INFILE) "%d" "after editing."))
- (RETURN NIL)))
- ;; next is done in case the diskmode changed
- (SHUT INPUTSTREAM) ))
- ;;(SETQ INFILE (|pathname| (IFCAR ($LISTFILE INFILE))))
- (SETQ INFILE (make-input-filename INFILE))
- (MAKEPROP /FN 'DEFLOC
- (CONS RECNO INFILE))
- (SETQ oft (|object2Identifier| (UPCASE (|pathnameType| INFILE))))
- (COND
- ( (NULL OP)
- (RETURN /FN) ) )
- (COND
- ( (EQ TRACEFLAG 'TRACELET)
- (RETURN (/TRACELET-1 (LIST FN) NIL)) ) )
- (SETQ INPUTSTREAM (DEFSTREAM INFILE 'INPUT))
- (|sayBrightly|
- (LIST " Reading file" '|%b| (|namestring| INFILE) '|%d|))
- (TERPRI)
- (SETQ $BOOT (EQ oft 'BOOT))
- (SETQ $NEWSPAD (OR $BOOT (EQ oft 'SPAD)))
- (SETQ DEF
- (COND
- ( SFN
- ;(+VOL 'METABASE)
- (POINT RECNO INPUTSTREAM)
- ;(SETQ CHR (CAR INPUTSTREAM))
- ;(SETQ ERRCOL 0)
- ;(SETQ COUNT 0)
- ;(SETQ COLUMN 0)
- ;(SETQ TRAPFLAG NIL)
- (SETQ OK 'T)
- ;(NXTTOK)
- ;(SETQ LINE (CURINPUTLINE))
- ;(SETQ SPADERRORSTREAM CUROUTSTREAM)
- ;(AND /ECHO (SETQ ECHOMETA 'T) (PRINTEXP LINE) (TERPRI))
- ;(SFN)
- (SETQ DEF (BOOT-PARSE-1 INPUTSTREAM))
- (SETQ DEBUGMODE 'YES)
- (COND
- ( (NULL OK)
- (FUNCALL (GET oft 'SYNTAX_ERROR))
- NIL )
- ( 'T
- DEF ) ) )
- ( 'T
- (let* ((mode-line (read-line inputstream))
- (pacpos (search "package:" mode-line :test #'equalp))
- (endpos (search "-*-" mode-line :from-end t))
- (*package* *package*)
- (newpac nil))
- (when pacpos
- (setq newpac (read-from-string mode-line nil nil
- :start (+ pacpos 8)
- :end endpos))
- (setq *package*
- (cond ((find-package newpac))
- (t *package*))))
- (POINT RECNO INPUTSTREAM)
- (READ INPUTSTREAM)))))
+
+ (COND ((NOT RECNO)
+ (|sayBrightly| (LIST " Warning: function" "%b" /FN "%d"
+ "was not found in the file" "%l" " " "%b"
+ (|namestring| INFILE) "%d" "after editing."))
+ (RETURN NIL)))
+ ;; next is done in case the diskmode changed
+ (SHUT INPUTSTREAM) ))
+ ;;(SETQ INFILE (|pathname| (IFCAR ($LISTFILE INFILE))))
+ (SETQ INFILE (make-input-filename INFILE))
+ (MAKEPROP /FN 'DEFLOC
+ (CONS RECNO INFILE))
+ (SETQ oft (|object2Identifier| (UPCASE (|pathnameType| INFILE))))
+ (COND
+ ( (NULL OP)
+ (RETURN /FN) ) )
+ (COND
+ ( (EQ TRACEFLAG 'TRACELET)
+ (RETURN (/TRACELET-1 (LIST FN) NIL)) ) )
+ (SETQ INPUTSTREAM (DEFSTREAM INFILE 'INPUT))
+ (|sayBrightly|
+ (LIST " Reading file" '|%b| (|namestring| INFILE) '|%d|))
+ (TERPRI)
+ (SETQ $BOOT (EQ oft 'BOOT))
+ (SETQ $NEWSPAD (OR $BOOT (EQ oft 'SPAD)))
+ (SETQ DEF
+ (COND
+ ( SFN
+ ;(+VOL 'METABASE)
+ (POINT RECNO INPUTSTREAM)
+ ;(SETQ CHR (CAR INPUTSTREAM))
+ ;(SETQ ERRCOL 0)
+ ;(SETQ COUNT 0)
+ ;(SETQ COLUMN 0)
+ ;(SETQ TRAPFLAG NIL)
+ (SETQ OK 'T)
+ ;(NXTTOK)
+ ;(SETQ LINE (CURINPUTLINE))
+ ;(SETQ SPADERRORSTREAM CUROUTSTREAM)
+ ;(AND /ECHO (SETQ ECHOMETA 'T) (PRINTEXP LINE) (TERPRI))
+ ;(SFN)
+ (SETQ DEF (BOOT-PARSE-1 INPUTSTREAM))
+ (SETQ DEBUGMODE 'YES)
+ (COND
+ ( (NULL OK)
+ (FUNCALL (GET oft 'SYNTAX_ERROR))
+ NIL )
+ ( 'T
+ DEF ) ) )
+ ( 'T
+ (let* ((mode-line (read-line inputstream))
+ (pacpos (search "package:" mode-line :test #'equalp))
+ (endpos (search "-*-" mode-line :from-end t))
+ (*package* *package*)
+ (newpac nil))
+ (when pacpos
+ (setq newpac (read-from-string mode-line nil nil
+ :start (+ pacpos 8)
+ :end endpos))
+ (setq *package*
+ (cond ((find-package newpac))
+ (t *package*))))
+ (POINT RECNO INPUTSTREAM)
+ (READ INPUTSTREAM)))))
#+Lucid(system::compiler-options :messages t :warnings t)
- (COND
- ( (SETQ U (GET oft '/TRAN))
- (SETQ DEF (FUNCALL U DEF)) ) )
+ (COND
+ ( (SETQ U (GET oft '/TRAN))
+ (SETQ DEF (FUNCALL U DEF)) ) )
(/WRITEUPDATE
/FN
(|pathnameName| INFILE)
@@ -352,8 +282,8 @@ exit (rds ifile)
(PRETTYPRINT DEF OUTPUTSTREAM) ) )
(COND
( (EQ oft 'LISP)
- (if (EQ OP 'DEFINE) (EVAL DEF)
- (compile (EVAL DEF))))
+ (if (EQ OP 'DEFINE) (EVAL DEF)
+ (compile (EVAL DEF))))
( DEF
(FUNCALL OP (LIST DEF)) ) )
#+Lucid(system::compiler-options :messages nil :warnings nil)
@@ -375,37 +305,37 @@ exit (rds ifile)
(if (AND (NOT (eq 'FROMWRITEUPDATE (|pathnameName| INFILE)))
(NOT (make-input-filename INFILE)))
(RETURN NIL))
- (SETQ FT (UPCASE (|object2Identifier| (|pathnameType| INFILE))))
+ (SETQ FT (UPCASE (|object2Identifier| (|pathnameType| INFILE))))
(SETQ KEYLENGTH (STRINGLENGTH KEY))
- (WHEN (> INITRECNO 1) ;; we think we know where it is
- (POINT INITRECNO INPUTSTREAM)
- (SETQ LN (READ-LINE INPUTSTREAM NIL NIL))
- (IF (AND LN (MATCH-FUNCTION-DEF FN KEY KEYLENGTH LN FT))
- (RETURN INITRECNO)))
- (SETQ $LINENUMBER 0)
- (POINT 0 INPUTSTREAM)
+ (WHEN (> INITRECNO 1) ;; we think we know where it is
+ (POINT INITRECNO INPUTSTREAM)
+ (SETQ LN (READ-LINE INPUTSTREAM NIL NIL))
+ (IF (AND LN (MATCH-FUNCTION-DEF FN KEY KEYLENGTH LN FT))
+ (RETURN INITRECNO)))
+ (SETQ $LINENUMBER 0)
+ (POINT 0 INPUTSTREAM)
EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
- (SETQ LN (READ-LINE INPUTSTREAM NIL NIL))
- (INCF $LINENUMBER)
- (if (NULL LN) (RETURN NIL))
- (IF (MATCH-FUNCTION-DEF FN KEY KEYLENGTH LN FT)
- (RETURN RECNO))
+ (SETQ LN (READ-LINE INPUTSTREAM NIL NIL))
+ (INCF $LINENUMBER)
+ (if (NULL LN) (RETURN NIL))
+ (IF (MATCH-FUNCTION-DEF FN KEY KEYLENGTH LN FT)
+ (RETURN RECNO))
(GO EXAMINE)))
(DEFUN MATCH-FUNCTION-DEF (fn key keylength line type)
(if (eq type 'LISP) (match-lisp-tag fn line "(def")
- (let ((n (mismatch key line)))
- (and (= n keylength)
- (or (= n (length line))
- (member (elt line n)
- (or (get type '/termchr) '(#\space ))))))))
+ (let ((n (mismatch key line)))
+ (and (= n keylength)
+ (or (= n (length line))
+ (member (elt line n)
+ (or (get type '/termchr) '(#\space ))))))))
(define-function '|/D,1| #'/D-1)
(DEFUN /INITUPDATES (/VERSION)
(SETQ FILENAME (STRINGIMAGE /VERSION))
(SETQ /UPDATESTREAM (open (strconc "/tmp/update." FILENAME) :direction :output
- :if-exists :append :if-does-not-exist :create))
+ :if-exists :append :if-does-not-exist :create))
(PRINTEXP
" Function Name Filename Date Time"
/UPDATESTREAM)
@@ -417,7 +347,7 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(defun /UPDATE (&rest ARGS)
(LET (( FILENAME (OR (KAR ARGS)
- (strconc "/tmp/update." (STRINGIMAGE /VERSION))))
+ (strconc "/tmp/update." (STRINGIMAGE /VERSION))))
(|$createUpdateFiles| NIL))
(DECLARE (SPECIAL |$createUpdateFiles|))
(CATCH 'FILENAM (/UPDATE-1 FILENAME '(/COMP)))
@@ -425,7 +355,7 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(defun /DUPDATE (&rest ARGS)
(LET (( FILENAME (OR (KAR ARGS)
- (strconc "/tmp/update." (STRINGIMAGE /VERSION))))
+ (strconc "/tmp/update." (STRINGIMAGE /VERSION))))
(|$createUpdateFiles| NIL))
(DECLARE (SPECIAL |$createUpdateFiles|))
(CATCH 'FILENAM (/UPDATE-1 FILENAME 'DEFINE))
@@ -464,7 +394,7 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
; ((SAY "A disk is not read-write. Update file not modified")
; (RETURN NIL)))
(if (OR (NOT (BOUNDP '/UPDATESTREAM))
- (NOT (STREAMP /UPDATESTREAM)))
+ (NOT (STREAMP /UPDATESTREAM)))
(/INITUPDATES /VERSION))
; (SETQ IFT (INTERN (STRINGIMAGE /VERSION)))
; (SETQ INPUTSTREAM (open (strconc IFT /WSNAME) :direction :input))
@@ -482,32 +412,32 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
; (COND ((NUMBERP RECNO)
; (SETQ ORECNO (NOTE /UPDATESTREAM))
; (POINTW RECNO /UPDATESTREAM) ))
- (SETQ DATETIME (|getDateAndTime|))
- (SETQ DATE (CAR DATETIME))
- (SETQ TIME (CDR DATETIME))
+ (SETQ DATETIME (|getDateAndTime|))
+ (SETQ DATE (CAR DATETIME))
+ (SETQ TIME (CDR DATETIME))
(PRINTEXP (STRCONC
(COND ((NOT FUN) " QUAD ")
((STRINGPAD (PNAME FUN) 28))) " "
- (STRINGIMAGE FM)
- (STRINGIMAGE FN) "." (STRINGIMAGE FT)
+ (STRINGIMAGE FM)
+ (STRINGIMAGE FN) "." (STRINGIMAGE FT)
" "
DATE " " TIME) /UPDATESTREAM)
(TERPRI /UPDATESTREAM)
; (if (NUMBERP RECNO) (POINTW ORECNO /UPDATESTREAM))
- ))
+ ))
(defun |getDateAndTime| ()
(MULTIPLE-VALUE-BIND (sec min hour day mon year) (get-decoded-time)
(CONS (STRCONC (LENGTH2STR mon) "/"
- (LENGTH2STR day) "/"
- (LENGTH2STR year) )
- (STRCONC (LENGTH2STR hour) ":"
- (LENGTH2STR min)))))
+ (LENGTH2STR day) "/"
+ (LENGTH2STR year) )
+ (STRCONC (LENGTH2STR hour) ":"
+ (LENGTH2STR min)))))
(DEFUN LENGTH2STR (X &aux XLEN)
(cond ( (= 1 (SETQ XLEN (LENGTH (SETQ X (STRINGIMAGE X))))) (STRCONC "0" X))
- ( (= 2 XLEN) X)
- ( (subseq x (- XLEN 2)))))
+ ( (= 2 XLEN) X)
+ ( (subseq x (- XLEN 2)))))
(defmacro /T (&rest L) (CONS '/TRACE (OR L (LIST /FN))))
@@ -570,8 +500,8 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(T (|sayBrightly| (format nil "~A is not a function" FN))))
(RETURN NIL)))
(if (and (symbolp fn) (boundp FN)
- (|isDomainOrPackage| (SETQ FNVAL (EVAL FN))))
- (RETURN (|spadTrace| FNVAL OPTIONS)))
+ (|isDomainOrPackage| (SETQ FNVAL (EVAL FN))))
+ (RETURN (|spadTrace| FNVAL OPTIONS)))
(if (SETQ U (/GETTRACEOPTIONS OPTIONS 'MASK=))
(MAKEPROP FN '/TRANSFORM (CADR U)))
(SETQ /TRACENAMES
@@ -622,7 +552,7 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(SETQ COUNT_CONDITION
(COND ((SETQ U (/GETTRACEOPTIONS OPTIONS 'COUNT))
(SETQ /COUNTLIST (adjoin TRACENAME /COUNTLIST
- :test 'equal))
+ :test 'equal))
(if (AND (CDR U) (integerp (CADR U)))
`(cond ((<= ,COUNTNAM ,(CADR U)) t)
(t (/UNTRACE-2 ,(MKQ FN) NIL) NIL))
@@ -634,8 +564,8 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(SETQ DEPTH_CONDITION
(if (SETQ U (/GETTRACEOPTIONS OPTIONS 'DEPTH))
(if (AND (CDR U) (integerp (CADR U)))
- (LIST 'LE 'FUNDEPTH (CADR U))
- (TRACE_OPTION_ERROR 'DEPTH))
+ (LIST 'LE 'FUNDEPTH (CADR U))
+ (TRACE_OPTION_ERROR 'DEPTH))
T))
(SETQ CONDITION
(MKPF
@@ -728,17 +658,17 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(|untraceDomainConstructor| X))
((OR (|isDomainOrPackage| (SETQ U X))
(and (symbolp X) (boundp X)
- (|isDomain| (SETQ U (EVAL X)))))
+ (|isDomain| (SETQ U (EVAL X)))))
(|spadUntrace| U OPTIONS))
((EQCAR OPTIONS 'ALIAS)
(if |$traceNoisely|
(|sayBrightly| (LIST '|%b| (CADR OPTIONS) '|%d| '**untraced)))
(SETQ /TIMERLIST
- (REMOVE (STRINGIMAGE (CADR OPTIONS)) /TIMERLIST :test 'equal))
+ (REMOVE (STRINGIMAGE (CADR OPTIONS)) /TIMERLIST :test 'equal))
(SETQ /COUNTLIST
- (REMOVE (STRINGIMAGE (CADR OPTIONS)) /COUNTLIST :test 'equal))
+ (REMOVE (STRINGIMAGE (CADR OPTIONS)) /COUNTLIST :test 'equal))
(SETQ |$mathTraceList|
- (REMOVE (CADR OPTIONS) |$mathTraceList| :test 'equal))
+ (REMOVE (CADR OPTIONS) |$mathTraceList| :test 'equal))
(UNEMBED X))
((AND (NOT (MEMBER X /TRACENAMES))
(NOT (|isSubForRedundantMapName| X)))
@@ -771,16 +701,16 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(COND ((setq U (GET NAME '/TRANSFORM))
(COND
((EQCAR U '&)
- (PRINC "//" CURSTRM) (PRIN1 VAL CURSTRM) (TERPRI CURSTRM))
- (T (PRINC "! " CURSTRM)
- (PRIN1 (EVAL (SUBST (MKQ VAL) '* (CAR U))) CURSTRM)
- (TERPRI CURSTRM)) ))
+ (PRINC "//" CURSTRM) (PRIN1 VAL CURSTRM) (TERPRI CURSTRM))
+ (T (PRINC "! " CURSTRM)
+ (PRIN1 (EVAL (SUBST (MKQ VAL) '* (CAR U))) CURSTRM)
+ (TERPRI CURSTRM)) ))
(T
- (PRINC ": " CURSTRM)
+ (PRINC ": " CURSTRM)
(COND ((NOT (SMALL-ENOUGH VAL)) (|F,PRINT-ONE| VAL CURSTRM))
(/PRETTY (PRETTYPRINT VAL CURSTRM))
(T (COND (|$mathTrace| (TERPRI)))
- (PRINMATHOR0 VAL CURSTRM)))))))
+ (PRINMATHOR0 VAL CURSTRM)))))))
(DEFUN MONITOR-BLANKS (N) (PRINC (MAKE-FULL-CVEC N " ") CURSTRM))
@@ -831,7 +761,7 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(mapcar
#'(lambda (x y)
(COND ((EQ Y '*)
- (PRINC "\\ " CURSTRM)
+ (PRINC "\\ " CURSTRM)
(MONITOR-PRINT X CURSTRM))
((EQ Y '&)
(PRINC "\\\\" CURSTRM)
@@ -839,18 +769,18 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(PRINT X CURSTRM))
((NOT Y) (PRINC "! " CURSTRM))
(T
- (PRINC "! " CURSTRM)
+ (PRINC "! " CURSTRM)
(MONITOR-PRINT
(EVAL (SUBST (MKQ X) '* Y)) CURSTRM))))
- L (cdr /transform)))
- (T (PRINC ": " CURSTRM)
+ L (cdr /transform)))
+ (T (PRINC ": " CURSTRM)
(COND ((NOT (ATOM L))
(if |$mathTrace| (TERPRI CURSTRM))
(MONITOR-PRINT (CAR L) CURSTRM) (SETQ L (CDR L))))
(mapcar #'monitor-printrest L))))
((do ((istep 2 (+ istep 1))
(k (maxindex code)))
- ((> istep k) nil)
+ ((> istep k) nil)
(when (not (= 0 (SETQ N (digit-char-p (elt CODE ISTEP)))))
(PRINC "\\" CURSTRM)
(PRINMATHOR0 N CURSTRM)
@@ -1032,9 +962,9 @@ EXAMINE (SETQ RECNO (NOTE INPUTSTREAM))
(/DEPTH (if (and (BOUNDP '/DEPTH) (numberp /depth)) (1+ /DEPTH) 1))
(|depthAlist| (if (BOUNDP '|depthAlist|) (COPY-TREE |depthAlist|) NIL))
FUNDEPTH NAMEID YES (|$tracedSpadModemap| TRACEDMODEMAP) (|$mathTrace| NIL)
- /caller /name /value /breakcondition curdepth)
+ /caller /name /value /breakcondition curdepth)
(declare (special curstrm /depth fundepth |$tracedSpadModemap| |$mathTrace|
- /caller /name /value /breakcondition |depthAlist|))
+ /caller /name /value /breakcondition |depthAlist|))
(SETQ /NAME NAME)
(SETQ NAME1 (PNAME (|rassocSub| (INTERN NAME) |$mapSubNameAlist|)))
(SETQ /BREAKCONDITION BREAKCONDITION)
@@ -1234,11 +1164,52 @@ exit (rds ifile)
(boot::|handleLispBreakLoop| boot::|$BreakMode|))
#+:CCL (setq lisp:*break-loop* 'boot::lisp-break-from-axiom)
-<<interrupt>>
+#-:CCL
+(defun interrupt (&rest ignore))
+
+#+:CCL
+(defun interrupt (&rest ignore)
+ (prog (prompt ifile ofile u v)
+ (setq ifile (rds *debug-io*))
+ (setq ofile (wrs *debug-io*))
+ (setq prompt (setpchar "Break loop (:? for help)> "))
+top (setq u (read))
+ (cond
+ ((equal u ':x) (go exit))
+ ((equal u ':r) (go resume))
+ ((equal u ':q)
+ (progn (lisp::enable-backtrace nil)
+ (princ "Backtrace now disabled")
+ (terpri)))
+ ((equal u ':v)
+ (progn (lisp::enable-backtrace t)
+ (princ "Backtrace now enabled")
+ (terpri)))
+ ((equal u ':?)
+ (progn
+ (princ ":Q disables backtrace")
+ (terpri)
+ (princ ":V enables backtrace")
+ (terpri)
+ (princ ":R resumes from break")
+ (terpri)
+ (princ ":X exits from break loop")
+ (terpri)
+ (princ "else enter LISP expressions for evaluation")
+ (terpri)))
+ ((equal u #\eof)
+ (go exit))
+ (t (progn
+ (setq v (errorset u nil nil))
+ (if (listp v) (progn (princ "=> ") (prinl (car v)) (terpri))))) )
+ (go top)
+resume (rds ifile)
+ (wrs ofile)
+ (setpchar prompt)
+ (return nil)
+exit (rds ifile)
+ (wrs ofile)
+ (setpchar prompt)
+ (lisp::unwind)))
+
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/def.lisp b/src/interp/def.lisp
index 799034ee..146d65de 100644
--- a/src/interp/def.lisp
+++ b/src/interp/def.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/fname.lisp b/src/interp/fname.lisp
index 1d54a0d9..926aba92 100644
--- a/src/interp/fname.lisp
+++ b/src/interp/fname.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/fnewmeta.lisp.pamphlet b/src/interp/fnewmeta.lisp
index be041a6a..1abd09dc 100644
--- a/src/interp/fnewmeta.lisp.pamphlet
+++ b/src/interp/fnewmeta.lisp
@@ -1,300 +1,285 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp fnewmeta.lisp}
-\author{William Burge}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-<<fnew.meta>>=
-% Scratchpad II Boot Language Grammar, Common Lisp Version
-% IBM Thomas J. Watson Research Center
-% Summer, 1986
-%
-% NOTE: Substantially different from VM/LISP version, due to
-% different parser and attempt to render more within META proper.
+;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions are
+;; met:
+;;
+;; - Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;;
+;; - Redistributions in binary form must reproduce the above copyright
+;; notice, this list of conditions and the following disclaimer in
+;; the documentation and/or other materials provided with the
+;; distribution.
+;;
+;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+;; names of its contributors may be used to endorse or promote products
+;; derived from this software without specific prior written permission.
+;;
+;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-.META(New NewExpr Process)
-.PACKAGE 'BOOT'
-.DECLARE(tmptok TOK ParseMode DEFINITION_NAME LABLASOC)
-.PREFIX 'PARSE-'
-NewExpr: =')' .(processSynonyms) Command
- / .(SETQ DEFINITION_NAME (CURRENT-SYMBOL)) Statement ;
+;; % Scratchpad II Boot Language Grammar, Common Lisp Version
+;; % IBM Thomas J. Watson Research Center
+;; % Summer, 1986
+;; %
+;; % NOTE: Substantially different from VM/LISP version, due to
+;; % different parser and attempt to render more within META proper.
-Command: ')' SpecialKeyWord SpecialCommand +() ;
+;; .META(New NewExpr Process)
+;; .PACKAGE 'BOOT'
+;; .DECLARE(tmptok TOK ParseMode DEFINITION_NAME LABLASOC)
+;; .PREFIX 'PARSE-'
-SpecialKeyWord: =(MATCH-CURRENT-TOKEN "IDENTIFIER)
- .(SETF (TOKEN-SYMBOL (CURRENT-TOKEN)) (unAbbreviateKeyword (CURRENT-SYMBOL))) ;
+;; NewExpr: =')' .(processSynonyms) Command
+;; / .(SETQ DEFINITION_NAME (CURRENT-SYMBOL)) Statement ;
-SpecialCommand: 'show' <'?' / Expression>! +(show #1) CommandTail
- / ?(MEMBER (CURRENT-SYMBOL) \$noParseCommands)
- .(FUNCALL (CURRENT-SYMBOL))
- / ?(MEMBER (CURRENT-SYMBOL) \$tokenCommands) TokenList
- TokenCommandTail
- / PrimaryOrQM* CommandTail ;
+;; Command: ')' SpecialKeyWord SpecialCommand +() ;
-TokenList: (^?(isTokenDelimiter) +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN))* ;
+;; SpecialKeyWord: =(MATCH-CURRENT-TOKEN "IDENTIFIER)
+;; .(SETF (TOKEN-SYMBOL (CURRENT-TOKEN)) (unAbbreviateKeyword (CURRENT-SYMBOL))) ;
-TokenCommandTail:
- <TokenOption*>! ?(atEndOfLine) +(#2 -#1) .(systemCommand #1) ;
+;; SpecialCommand: 'show' <'?' / Expression>! +(show #1) CommandTail
+;; / ?(MEMBER (CURRENT-SYMBOL) \$noParseCommands)
+;; .(FUNCALL (CURRENT-SYMBOL))
+;; / ?(MEMBER (CURRENT-SYMBOL) \$tokenCommands) TokenList
+;; TokenCommandTail
+;; / PrimaryOrQM* CommandTail ;
-TokenOption: ')' TokenList ;
+;; TokenList: (^?(isTokenDelimiter) +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN))* ;
-CommandTail: <Option*>! ?(atEndOfLine) +(#2 -#1) .(systemCommand #1) ;
+;; TokenCommandTail:
+;; <TokenOption*>! ?(atEndOfLine) +(#2 -#1) .(systemCommand #1) ;
-PrimaryOrQM: '?' +\? / Primary ;
+;; TokenOption: ')' TokenList ;
-Option: ')' PrimaryOrQM* ;
+;; CommandTail: <Option*>! ?(atEndOfLine) +(#2 -#1) .(systemCommand #1) ;
-Statement: Expr{0} <(',' Expr{0})* +(Series #2 -#1)>;
+;; PrimaryOrQM: '?' +\? / Primary ;
-InfixWith: With +(Join #2 #1) ;
+;; Option: ')' PrimaryOrQM* ;
-With: 'with' Category +(with #1) ;
+;; Statement: Expr{0} <(',' Expr{0})* +(Series #2 -#1)>;
-Category: 'if' Expression 'then' Category <'else' Category>! +(if #3 #2 #1)
- / '(' Category <(';' Category)*>! ')' +(CATEGORY #2 -#1)
- / .(SETQ $1 (LINE-NUMBER CURRENT-LINE)) Application
- ( ':' Expression +(Signature #2 #1)
- .(recordSignatureDocumentation ##1 $1)
- / +(Attribute #1)
- .(recordAttributeDocumentation ##1 $1));
+;; InfixWith: With +(Join #2 #1) ;
-Expression: Expr{(PARSE-rightBindingPowerOf (MAKE-SYMBOL-OF PRIOR-TOKEN) ParseMode)}
- +#1 ;
+;; With: 'with' Category +(with #1) ;
-Import: 'import' Expr{1000} <(',' Expr{1000})*>! +(import #2 -#1) ;
+;; Category: 'if' Expression 'then' Category <'else' Category>! +(if #3 #2 #1)
+;; / '(' Category <(';' Category)*>! ')' +(CATEGORY #2 -#1)
+;; / .(SETQ $1 (LINE-NUMBER CURRENT-LINE)) Application
+;; ( ':' Expression +(Signature #2 #1)
+;; .(recordSignatureDocumentation ##1 $1)
+;; / +(Attribute #1)
+;; .(recordAttributeDocumentation ##1 $1));
-Infix: =TRUE +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail>
- Expression +(#2 #2 #1) ;
+;; Expression: Expr{(PARSE-rightBindingPowerOf (MAKE-SYMBOL-OF PRIOR-TOKEN) ParseMode)}
+;; +#1 ;
-Prefix: =TRUE +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail>
- Expression +(#2 #1) ;
+;; Import: 'import' Expr{1000} <(',' Expr{1000})*>! +(import #2 -#1) ;
-Suffix: +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail> +(#1 #1) ;
+;; Infix: =TRUE +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail>
+;; Expression +(#2 #2 #1) ;
-TokTail: ?(AND (NULL \$BOOT) (EQ (CURRENT-SYMBOL) "\$)
- (OR (ALPHA-CHAR-P (CURRENT-CHAR))
- (CHAR-EQ (CURRENT-CHAR) '$')
- (CHAR-EQ (CURRENT-CHAR) '\%')
- (CHAR-EQ (CURRENT-CHAR) '(')))
- .(SETQ $1 (COPY-TOKEN PRIOR-TOKEN)) Qualification
- .(SETQ PRIOR-TOKEN $1) ;
+;; Prefix: =TRUE +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail>
+;; Expression +(#2 #1) ;
-Qualification: '$' Primary1 +=(dollarTran #1 #1) ;
+;; Suffix: +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) <TokTail> +(#1 #1) ;
-SemiColon: ';' (Expr{82} / + \/throwAway) +(\; #2 #1) ;
+;; TokTail: ?(AND (NULL \$BOOT) (EQ (CURRENT-SYMBOL) "\$)
+;; (OR (ALPHA-CHAR-P (CURRENT-CHAR))
+;; (CHAR-EQ (CURRENT-CHAR) '$')
+;; (CHAR-EQ (CURRENT-CHAR) '\%')
+;; (CHAR-EQ (CURRENT-CHAR) '(')))
+;; .(SETQ $1 (COPY-TOKEN PRIOR-TOKEN)) Qualification
+;; .(SETQ PRIOR-TOKEN $1) ;
-Return: 'return' Expression +(return #1) ;
+;; Qualification: '$' Primary1 +=(dollarTran #1 #1) ;
-Exit: 'exit' (Expression / +\$NoValue) +(exit #1) ;
+;; SemiColon: ';' (Expr{82} / + \/throwAway) +(\; #2 #1) ;
-Leave: 'leave' ( Expression / +\$NoValue )
- ('from' Label +(leaveFrom #1 #1) / +(leave #1)) ;
+;; Return: 'return' Expression +(return #1) ;
-Seg: GliphTok{"\.\.} <Expression>! +(SEGMENT #2 #1) ;
+;; Exit: 'exit' (Expression / +\$NoValue) +(exit #1) ;
-Conditional: 'if' Expression 'then' Expression <'else' ElseClause>!
- +(if #3 #2 #1) ;
+;; Leave: 'leave' ( Expression / +\$NoValue )
+;; ('from' Label +(leaveFrom #1 #1) / +(leave #1)) ;
-ElseClause: ?(EQ (CURRENT-SYMBOL) "if) Conditional / Expression ;
+;; Seg: GliphTok{"\.\.} <Expression>! +(SEGMENT #2 #1) ;
-Loop: Iterator* 'repeat' Expr{110} +(REPEAT -#2 #1)
- / 'repeat' Expr{110} +(REPEAT #1) ;
+;; Conditional: 'if' Expression 'then' Expression <'else' ElseClause>!
+;; +(if #3 #2 #1) ;
-Iterator: 'for' Primary 'in' Expression
- ( 'by' Expr{200} +(INBY #3 #2 #1) / +(IN #2 #1) )
- < '\|' Expr{111} +(\| #1) >
- / 'while' Expr{190} +(WHILE #1)
- / 'until' Expr{190} +(UNTIL #1) ;
+;; ElseClause: ?(EQ (CURRENT-SYMBOL) "if) Conditional / Expression ;
-Expr{RBP}: NudPart{RBP} <LedPart{RBP}>* +#1;
+;; Loop: Iterator* 'repeat' Expr{110} +(REPEAT -#2 #1)
+;; / 'repeat' Expr{110} +(REPEAT #1) ;
-LabelExpr: Label Expr{120} +(LABEL #2 #1) ;
+;; Iterator: 'for' Primary 'in' Expression
+;; ( 'by' Expr{200} +(INBY #3 #2 #1) / +(IN #2 #1) )
+;; < '\|' Expr{111} +(\| #1) >
+;; / 'while' Expr{190} +(WHILE #1)
+;; / 'until' Expr{190} +(UNTIL #1) ;
-Label: '<<' Name '>>' ;
+;; Expr{RBP}: NudPart{RBP} <LedPart{RBP}>* +#1;
-LedPart{RBP}: Operation{"Led RBP} +#1;
+;; LabelExpr: Label Expr{120} +(LABEL #2 #1) ;
-NudPart{RBP}: (Operation{"Nud RBP} / Reduction / Form) +#1 ;
+;; Label: '<<' Name '>>' ;
-Operation{ParseMode RBP}:
- ^?(MATCH-CURRENT-TOKEN "IDENTIFIER)
- ?(GETL (SETQ tmptok (CURRENT-SYMBOL)) ParseMode)
- ?(LT RBP (PARSE-leftBindingPowerOf tmptok ParseMode))
- .(SETQ RBP (PARSE-rightBindingPowerOf tmptok ParseMode))
- getSemanticForm{tmptok ParseMode (ELEMN (GETL tmptok ParseMode) 5 NIL)} ;
+;; LedPart{RBP}: Operation{"Led RBP} +#1;
-% Binding powers stored under the Led and Red properties of an operator
-% are set up by the file BOTTOMUP.LISP. The format for a Led property
-% is <Operator Left-Power Right-Power>, and the same for a Nud, except that
-% it may also have a fourth component <Special-Handler>. ELEMN attempts to
-% get the Nth indicator, counting from 1.
+;; NudPart{RBP}: (Operation{"Nud RBP} / Reduction / Form) +#1 ;
-leftBindingPowerOf{X IND}: =(LET ((Y (GETL X IND))) (IF Y (ELEMN Y 3 0) 0)) ;
+;; Operation{ParseMode RBP}:
+;; ^?(MATCH-CURRENT-TOKEN "IDENTIFIER)
+;; ?(GETL (SETQ tmptok (CURRENT-SYMBOL)) ParseMode)
+;; ?(LT RBP (PARSE-leftBindingPowerOf tmptok ParseMode))
+;; .(SETQ RBP (PARSE-rightBindingPowerOf tmptok ParseMode))
+;; getSemanticForm{tmptok ParseMode (ELEMN (GETL tmptok ParseMode) 5 NIL)} ;
-rightBindingPowerOf{X IND}: =(LET ((Y (GETL X IND))) (IF Y (ELEMN Y 4 105) 105)) ;
+;; % Binding powers stored under the Led and Red properties of an operator
+;; % are set up by the file BOTTOMUP.LISP. The format for a Led property
+;; % is <Operator Left-Power Right-Power>, and the same for a Nud, except that
+;; % it may also have a fourth component <Special-Handler>. ELEMN attempts to
+;; % get the Nth indicator, counting from 1.
-getSemanticForm{X IND Y}:
- ?(AND Y (EVAL Y)) / ?(EQ IND "Nud) Prefix / ?(EQ IND "Led) Infix ;
+;; leftBindingPowerOf{X IND}: =(LET ((Y (GETL X IND))) (IF Y (ELEMN Y 3 0) 0)) ;
+;; rightBindingPowerOf{X IND}: =(LET ((Y (GETL X IND))) (IF Y (ELEMN Y 4 105) 105)) ;
-Reduction: ReductionOp Expr{1000} +(Reduce #2 #1) ;
+;; getSemanticForm{X IND Y}:
+;; ?(AND Y (EVAL Y)) / ?(EQ IND "Nud) Prefix / ?(EQ IND "Led) Infix ;
-ReductionOp: ?(AND (GETL (CURRENT-SYMBOL) "Led)
- (MATCH-NEXT-TOKEN "SPECIAL-CHAR (CODE-CHAR 47))) % Forgive me!
- +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) .(ADVANCE-TOKEN) ;
-Form: 'iterate' < 'from' Label +(#1) >! +(iterate -#1)
- / 'yield' Application +(yield #1)
- / Application ;
+;; Reduction: ReductionOp Expr{1000} +(Reduce #2 #1) ;
-Application: Primary <Selector>* <Application +(#2 #1)>;
+;; ReductionOp: ?(AND (GETL (CURRENT-SYMBOL) "Led)
+;; (MATCH-NEXT-TOKEN "SPECIAL-CHAR (CODE-CHAR 47))) % Forgive me!
+;; +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) .(ADVANCE-TOKEN) ;
-Selector: ?NONBLANK ?(EQ (CURRENT-SYMBOL) "\.) ?(CHAR-NE (CURRENT-CHAR) "\ )
- '.' PrimaryNoFloat (=\$BOOT +(ELT #2 #1)/ +(#2 #1))
- / (Float /'.' Primary) (=\$BOOT +(ELT #2 #1)/ +(#2 #1));
+;; Form: 'iterate' < 'from' Label +(#1) >! +(iterate -#1)
+;; / 'yield' Application +(yield #1)
+;; / Application ;
-PrimaryNoFloat: Primary1 <TokTail> ;
+;; Application: Primary <Selector>* <Application +(#2 #1)>;
-Primary: Float /PrimaryNoFloat ;
+;; Selector: ?NONBLANK ?(EQ (CURRENT-SYMBOL) "\.) ?(CHAR-NE (CURRENT-CHAR) "\ )
+;; '.' PrimaryNoFloat (=\$BOOT +(ELT #2 #1)/ +(#2 #1))
+;; / (Float /'.' Primary) (=\$BOOT +(ELT #2 #1)/ +(#2 #1));
-Primary1: VarForm <=(AND NONBLANK (EQ (CURRENT-SYMBOL) "\()) Primary1 +(#2 #1)>
- /Quad
- /String
- /IntegerTok
- /FormalParameter
- /='\'' (?\$BOOT Data / '\'' Expr{999} +(QUOTE #1))
- /Sequence
- /Enclosure ;
+;; PrimaryNoFloat: Primary1 <TokTail> ;
-Float: FloatBase (?NONBLANK FloatExponent / +0) +=(MAKE-FLOAT #4 #2 #2 #1) ;
+;; Primary: Float /PrimaryNoFloat ;
-FloatBase: ?(FIXP (CURRENT-SYMBOL)) ?(CHAR-EQ (CURRENT-CHAR) '.')
- ?(CHAR-NE (NEXT-CHAR) '.')
- IntegerTok FloatBasePart
- /?(FIXP (CURRENT-SYMBOL)) ?(CHAR-EQ (CHAR-UPCASE (CURRENT-CHAR)) "E)
- IntegerTok +0 +0
- /?(DIGITP (CURRENT-CHAR)) ?(EQ (CURRENT-SYMBOL) "\.)
- +0 FloatBasePart ;
+;; Primary1: VarForm <=(AND NONBLANK (EQ (CURRENT-SYMBOL) "\()) Primary1 +(#2 #1)>
+;; /Quad
+;; /String
+;; /IntegerTok
+;; /FormalParameter
+;; /='\'' (?\$BOOT Data / '\'' Expr{999} +(QUOTE #1))
+;; /Sequence
+;; /Enclosure ;
-FloatBasePart: '.'
- (?(DIGITP (CURRENT-CHAR)) +=(TOKEN-NONBLANK (CURRENT-TOKEN)) IntegerTok
- / +0 +0);
+;; Float: FloatBase (?NONBLANK FloatExponent / +0) +=(MAKE-FLOAT #4 #2 #2 #1) ;
+;; FloatBase: ?(FIXP (CURRENT-SYMBOL)) ?(CHAR-EQ (CURRENT-CHAR) '.')
+;; ?(CHAR-NE (NEXT-CHAR) '.')
+;; IntegerTok FloatBasePart
+;; /?(FIXP (CURRENT-SYMBOL)) ?(CHAR-EQ (CHAR-UPCASE (CURRENT-CHAR)) "E)
+;; IntegerTok +0 +0
+;; /?(DIGITP (CURRENT-CHAR)) ?(EQ (CURRENT-SYMBOL) "\.)
+;; +0 FloatBasePart ;
-FloatExponent: =(AND (MEMBER (CURRENT-SYMBOL) "(E e))
- (FIND (CURRENT-CHAR) '+-'))
- .(ADVANCE-TOKEN)
- (IntegerTok/'+' IntegerTok/'-' IntegerTok +=(MINUS #1)/+0)
- /?(IDENTP (CURRENT-SYMBOL)) =(SETQ $1 (FLOATEXPID (CURRENT-SYMBOL)))
- .(ADVANCE-TOKEN) +=$1 ;
+;; FloatBasePart: '.'
+;; (?(DIGITP (CURRENT-CHAR)) +=(TOKEN-NONBLANK (CURRENT-TOKEN)) IntegerTok
+;; / +0 +0);
-Enclosure: '(' ( Expr{6} ')' / ')' +(Tuple) )
- / '{' ( Expr{6} '}' +(brace (construct #1)) / '}' +(brace)) ;
-IntegerTok: NUMBER ;
+;; FloatExponent: =(AND (MEMBER (CURRENT-SYMBOL) "(E e))
+;; (FIND (CURRENT-CHAR) '+-'))
+;; .(ADVANCE-TOKEN)
+;; (IntegerTok/'+' IntegerTok/'-' IntegerTok +=(MINUS #1)/+0)
+;; /?(IDENTP (CURRENT-SYMBOL)) =(SETQ $1 (FLOATEXPID (CURRENT-SYMBOL)))
+;; .(ADVANCE-TOKEN) +=$1 ;
-FloatTok: NUMBER +=(IF \$BOOT #1 (BFP- #1)) ;
+;; Enclosure: '(' ( Expr{6} ')' / ')' +(Tuple) )
+;; / '{' ( Expr{6} '}' +(brace (construct #1)) / '}' +(brace)) ;
-FormalParameter: FormalParameterTok ;
+;; IntegerTok: NUMBER ;
-FormalParameterTok: ARGUMENT-DESIGNATOR ;
+;; FloatTok: NUMBER +=(IF \$BOOT #1 (BFP- #1)) ;
-Quad: '$' +\$ / ?\$BOOT GliphTok{"\.} +\. ;
+;; FormalParameter: FormalParameterTok ;
-String: SPADSTRING ;
+;; FormalParameterTok: ARGUMENT-DESIGNATOR ;
-VarForm: Name <Scripts +(Scripts #2 #1) > +#1 ;
+;; Quad: '$' +\$ / ?\$BOOT GliphTok{"\.} +\. ;
-Scripts: ?NONBLANK '[' ScriptItem ']' ;
+;; String: SPADSTRING ;
-ScriptItem: Expr{90} <(';' ScriptItem)* +(\; #2 -#1)>
- / ';' ScriptItem +(PrefixSC #1) ;
+;; VarForm: Name <Scripts +(Scripts #2 #1) > +#1 ;
-Name: IDENTIFIER +#1 ;
+;; Scripts: ?NONBLANK '[' ScriptItem ']' ;
-Data: .(SETQ LABLASOC NIL) Sexpr +(QUOTE =(TRANSLABEL #1 LABLASOC)) ;
+;; ScriptItem: Expr{90} <(';' ScriptItem)* +(\; #2 -#1)>
+;; / ';' ScriptItem +(PrefixSC #1) ;
-Sexpr: .(ADVANCE-TOKEN) Sexpr1 ;
+;; Name: IDENTIFIER +#1 ;
-Sexpr1: AnyId
- < NBGliphTok{"\=} Sexpr1
- .(SETQ LABLASOC (CONS (CONS #2 ##1) LABLASOC))>
- / '\'' Sexpr1 +(QUOTE #1)
- / IntegerTok
- / '-' IntegerTok +=(MINUS #1)
- / String
- / '<' <Sexpr1*>! '>' +=(LIST2VEC #1)
- / '(' <Sexpr1* <GliphTok{"\.} Sexpr1 +=(NCONC #2 #1)>>! ')' ;
+;; Data: .(SETQ LABLASOC NIL) Sexpr +(QUOTE =(TRANSLABEL #1 LABLASOC)) ;
-NBGliphTok{tok}: ?(AND (MATCH-CURRENT-TOKEN "GLIPH tok) NONBLANK)
- .(ADVANCE-TOKEN) ;
+;; Sexpr: .(ADVANCE-TOKEN) Sexpr1 ;
-GliphTok{tok}: ?(MATCH-CURRENT-TOKEN "GLIPH tok) .(ADVANCE-TOKEN) ;
+;; Sexpr1: AnyId
+;; < NBGliphTok{"\=} Sexpr1
+;; .(SETQ LABLASOC (CONS (CONS #2 ##1) LABLASOC))>
+;; / '\'' Sexpr1 +(QUOTE #1)
+;; / IntegerTok
+;; / '-' IntegerTok +=(MINUS #1)
+;; / String
+;; / '<' <Sexpr1*>! '>' +=(LIST2VEC #1)
+;; / '(' <Sexpr1* <GliphTok{"\.} Sexpr1 +=(NCONC #2 #1)>>! ')' ;
-AnyId: IDENTIFIER
- / (='$' +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) / KEYWORD) ;
+;; NBGliphTok{tok}: ?(AND (MATCH-CURRENT-TOKEN "GLIPH tok) NONBLANK)
+;; .(ADVANCE-TOKEN) ;
-Sequence: OpenBracket Sequence1 ']'
- / OpenBrace Sequence1 '}' +(brace #1) ;
+;; GliphTok{tok}: ?(MATCH-CURRENT-TOKEN "GLIPH tok) .(ADVANCE-TOKEN) ;
-Sequence1: (Expression +(#2 #1) / +(#1)) <IteratorTail +(COLLECT -#1 #1)> ;
+;; AnyId: IDENTIFIER
+;; / (='$' +=(CURRENT-SYMBOL) .(ADVANCE-TOKEN) / KEYWORD) ;
-OpenBracket: =(EQ (getToken (SETQ $1 (CURRENT-SYMBOL))) "\[ )
- (=(EQCAR $1 "elt) +(elt =(CADR $1) construct)
- / +construct) .(ADVANCE-TOKEN) ;
+;; Sequence: OpenBracket Sequence1 ']'
+;; / OpenBrace Sequence1 '}' +(brace #1) ;
-OpenBrace: =(EQ (getToken (SETQ $1 (CURRENT-SYMBOL))) "\{ )
- (=(EQCAR $1 "elt) +(elt =(CADR $1) brace)
- / +construct) .(ADVANCE-TOKEN) ;
+;; Sequence1: (Expression +(#2 #1) / +(#1)) <IteratorTail +(COLLECT -#1 #1)> ;
-IteratorTail: ('repeat' <Iterator*>! / Iterator*) ;
+;; OpenBracket: =(EQ (getToken (SETQ $1 (CURRENT-SYMBOL))) "\[ )
+;; (=(EQCAR $1 "elt) +(elt =(CADR $1) construct)
+;; / +construct) .(ADVANCE-TOKEN) ;
-.FIN ;
+;; OpenBrace: =(EQ (getToken (SETQ $1 (CURRENT-SYMBOL))) "\{ )
+;; (=(EQCAR $1 "elt) +(elt =(CADR $1) brace)
+;; / +construct) .(ADVANCE-TOKEN) ;
+;; IteratorTail: ('repeat' <Iterator*>! / Iterator*) ;
+
+;; .FIN ;
-@
-\section{License}
-<<license>>=
-;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;; - Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;;
-;; - Redistributions in binary form must reproduce the above copyright
-;; notice, this list of conditions and the following disclaimer in
-;; the documentation and/or other materials provided with the
-;; distribution.
-;;
-;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-;; names of its contributors may be used to endorse or promote products
-;; derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(IMPORT-MODULE "parsing")
(IN-PACKAGE "BOOT" )
@@ -1004,9 +989,3 @@ IteratorTail: ('repeat' <Iterator*>! / Iterator*) ;
(OPTIONAL (STAR REPEATOR (|PARSE-Iterator|)))))
(STAR REPEATOR (|PARSE-Iterator|))))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/foam_l.lisp.pamphlet b/src/interp/foam_l.lisp
index 7bf48022..57e0f5bd 100644
--- a/src/interp/foam_l.lisp.pamphlet
+++ b/src/interp/foam_l.lisp
@@ -1,25 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/foam\_l.lisp} Pamphlet}
-\author{Stephen M. Watt, Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -49,18 +31,30 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
+;;
+;; FOAM is the intermediate language for the aldor compiler. FOAM
+;; means "first order abstract machine" and functions similar to
+;; RTL for the GCC compiler. It is a "machine" that is used as the
+;; target for meta-assembler level statments. These are eventually
+;; expanded for the real target machine (or interpreted directly)
+;;
+;;;
+;;; FOAM Operations for Common Lisp
+;;;
-\section{The [[FOAM]] package}
+;;
+;; Client files should begin with
+;; (in-package "FOAM-USER" :use '("FOAM" "LISP"))
+;;
+;;
+;; To Do:
+;; Test cases.
+;; Scan and format functions need to be rewritten to handle complete syntax.
+;; Deftypes for each Foam type?
+;;
-FOAM is the intermediate language for the aldor compiler. FOAM
-means "first order abstract machine" and functions similar to
-RTL for the GCC compiler. It is a "machine" that is used as the
-target for meta-assembler level statments. These are eventually
-expanded for the real target machine (or interpreted directly)
-<<FOAM>>=
#+:common-lisp (in-package "COMMON-LISP-USER")
#-:common-lisp (in-package "USER")
@@ -68,40 +62,16 @@ expanded for the real target machine (or interpreted directly)
#+:common-lisp (:use "COMMON-LISP")
#-:common-lisp (:use "LISP"))
-@
-\section{The [[FOAM-USER]] package}
+;; FOAM-USER is the package containing foam statements and macros
+;; that get inserted into user code versus the foam package which
+;; provides support for compiler code.
-FOAM-USER is the package containing foam statements and macros
-that get inserted into user code versus the foam package which
-provides support for compiler code.
-<<FOAM>>=
(defpackage "FOAM-USER"
#+:common-lisp (:use "COMMON-LISP")
#-:common-lisp (:use "LISP")
(:use "FOAM"))
-@
-
-
-<<*>>=
-<<license>>
-;;;
-;;; FOAM Operations for Common Lisp
-;;;
-
-;;
-;; Client files should begin with
-;; (in-package "FOAM-USER" :use '("FOAM" "LISP"))
-;;
-;;
-;; To Do:
-;; Test cases.
-;; Scan and format functions need to be rewritten to handle complete syntax.
-;; Deftypes for each Foam type?
-;;
-
-<<FOAM>>
(in-package "FOAM")
(export '(
@@ -300,13 +270,13 @@ provides support for compiler code.
(defmacro |SFloEQ| (x y) `(= (the |SFlo| ,x) (the |SFlo| ,y)))
(defmacro |SFloNE| (x y) `(/= (the |SFlo| ,x) (the |SFlo| ,y)))
(defmacro |SFloNegate| (x) `(the |SFlo| (- (the |SFlo| ,x))))
-(defmacro |SFloNext| (x) `(the |SFlo| (+ (the |SFlo| ,x) 1.0s0)))
-(defmacro |SFloPrev| (x) `(the |SFlo| (- (the |SFlo| ,x) 1.0s0)))
+(defmacro |SFloNext| (x) `(the |SFlo| (+ (the |SFlo| ,x) 1.0s0)))
+(defmacro |SFloPrev| (x) `(the |SFlo| (- (the |SFlo| ,x) 1.0s0)))
(defmacro |SFloMinus| (x y) `(the |SFlo| (- (the |SFlo| ,x) (the |SFlo| ,y))))
(defmacro |SFloTimes| (x y) `(the |SFlo| (* (the |SFlo| ,x) (the |SFlo| ,y))))
(defmacro |SFloTimesPlus| (x y z)
`(the |SFlo| (+ (* (the |SFlo| ,x) (the |SFlo| ,y)) (the |SFlo| ,z))))
-(defmacro |SFloDivide| (x y) `(the |SFlo| (/ (the |SFlo| ,x) (the |SFlo| ,y))))
+(defmacro |SFloDivide| (x y) `(the |SFlo| (/ (the |SFlo| ,x) (the |SFlo| ,y))))
(defmacro |SFloRPlus| (x y r) `(error "unimplemented operation -- SFloRPlus"))
(defmacro |SFloRMinus| (x y r) `(error "unimplemented operation -- SFloRTimes"))
(defmacro |SFloRTimes| (x y r) `(error "unimplemented operation -- SFloRTimes"))
@@ -334,8 +304,8 @@ provides support for compiler code.
(defmacro |DFloLT| (x y) `(< (the |DFlo| ,x) (the |DFlo| ,y)))
(defmacro |DFloNE| (x y) `(/= (the |DFlo| ,x) (the |DFlo| ,y)))
(defmacro |DFloNegate| (x) `(the |DFlo| (- (the |DFlo| ,x))))
-(defmacro |DFloNext| (x) `(the |DFlo| (+ (the |DFlo| ,x) 1.0d0)))
-(defmacro |DFloPrev| (x) `(the |DFlo| (- (the |DFlo| ,x) 1.0d0)))
+(defmacro |DFloNext| (x) `(the |DFlo| (+ (the |DFlo| ,x) 1.0d0)))
+(defmacro |DFloPrev| (x) `(the |DFlo| (- (the |DFlo| ,x) 1.0d0)))
(defmacro |DFloPlus| (x y) `(the |DFlo| (+ (the |DFlo| ,x) (the |DFlo| ,y))))
(defmacro |DFloMinus| (x y) `(the |DFlo| (- (the |DFlo| ,x) (the |DFlo| ,y))))
(defmacro |DFloTimes| (x y) `(the |DFlo| (* (the |DFlo| ,x) (the |DFlo| ,y))))
@@ -479,7 +449,7 @@ provides support for compiler code.
(defmacro |BIntBit| (x i)
`(let ((xx ,x) (ii ,i)) (declare (type |BInt| xx) (type |SInt| ii))
- (logbitp ii xx)))
+ (logbitp ii xx)))
;;(defmacro |BIntAbs| (x) `(the |BInt| (abs (the |BInt| ,x))))
(defmacro |PtrNil| () ())
@@ -509,10 +479,10 @@ provides support for compiler code.
(defmacro |ScanSFlo| (arr i)
`(read-from-string ,arr nil (|SFlo0|)
- :start ,i :preserve-whitespace t))
+ :start ,i :preserve-whitespace t))
(defmacro |ScanDFlo| (arr i)
`(read-from-string ,arr nil (|DFlo0|)
- :start ,i :preserve-whitespace t))
+ :start ,i :preserve-whitespace t))
(defmacro |ScanSInt| (arr i)
`(parse-integer ,arr :start ,i :junk-allowed t))
(defmacro |ScanBInt| (arr i)
@@ -543,14 +513,14 @@ provides support for compiler code.
(defmacro |SetClosFun| (x y) `(rplaca ,x ,y))
(defmacro |SetClosEnv| (x y) `(rplacd ,x ,y))
-(defmacro |MakeEnv| (x y)
+(defmacro |MakeEnv| (x y)
`(let ((xx ,x) (yy ,y)) (cons yy (cons xx nil))))
-(defmacro |EnvLevel| (x) `(car ,x))
-(defmacro |EnvNext| (x) `(cadr ,x))
-(defmacro |EnvInfo| (x) `(if (and (consp ,x) (consp (cdr ,x)))
- (cddr ,x) nil))
-(defmacro |SetEnvInfo| (x val) `(rplacd (cdr ,x) ,val))
+(defmacro |EnvLevel| (x) `(car ,x))
+(defmacro |EnvNext| (x) `(cadr ,x))
+(defmacro |EnvInfo| (x) `(if (and (consp ,x) (consp (cdr ,x)))
+ (cddr ,x) nil))
+(defmacro |SetEnvInfo| (x val) `(rplacd (cdr ,x) ,val))
#+:CCL
(defmacro |FoamEnvEnsure| (e)
@@ -601,32 +571,32 @@ provides support for compiler code.
(defun insert-types (slots)
(mapcar #'(lambda (slot)
- `(,(car slot) ,(type2init (cadr slot))
- :type ,(cadr slot)))
- slots))
+ `(,(car slot) ,(type2init (cadr slot))
+ :type ,(cadr slot)))
+ slots))
(defmacro |RNew| (name)
(let* ((struct-args (get name 'struct-args))
- (init-args (mapcar #'(lambda (x) (type2init (cadr x)))
- struct-args))
- (count (length struct-args)))
+ (init-args (mapcar #'(lambda (x) (type2init (cadr x)))
+ struct-args))
+ (count (length struct-args)))
(cond ((> count 2) `(vector ,@init-args))
- ((= count 2) `(cons ,@init-args))
- (t `(list ,@init-args)))))
+ ((= count 2) `(cons ,@init-args))
+ (t `(list ,@init-args)))))
(defmacro |RElt| (name field index rec)
(let ((count (length (get name 'struct-args))))
(cond ((> count 2) `(svref ,rec ,index))
- ((= count 2)
- (if (zerop index) `(car ,rec) `(cdr ,rec)))
- (t `(car ,rec)))))
+ ((= count 2)
+ (if (zerop index) `(car ,rec) `(cdr ,rec)))
+ (t `(car ,rec)))))
(defmacro |SetRElt| (name field index rec val)
(let ((count (length (get name 'struct-args))))
(cond ((> count 2) `(setf (svref ,rec ,index) ,val))
- ((= count 2)
- (if (zerop index) `(rplaca ,rec ,val) `(rplacd ,rec ,val)))
- (t `(rplaca ,rec ,val)))))
+ ((= count 2)
+ (if (zerop index) `(rplaca ,rec ,val) `(rplacd ,rec ,val)))
+ (t `(rplaca ,rec ,val)))))
(defmacro |AElt| (name index)
`(aref ,name ,index))
@@ -651,25 +621,25 @@ provides support for compiler code.
(defmacro |SetLex| (accessor n var val)
`(progn ;; (print ',accessor)
- (setf (,accessor ,var) ,val)))
+ (setf (,accessor ,var) ,val)))
;; Atomic arguments for fun don't need a let to hold the fun.
;; CCall's with arguments need a let to hold the prog and the env.
(defmacro |CCall| (fun &rest args)
(cond ((and (atom fun) (null args))
- `(funcall (|FunProg| (|ClosFun| ,fun)) (|ClosEnv| ,fun)))
- ((null args)
- `(let ((c ,fun))
- (funcall (|FunProg| (|ClosFun| c)) (|ClosEnv| c))))
- ((atom fun)
- `(let ((fun (|FunProg| (|ClosFun| ,fun)))
- (env (|ClosEnv| ,fun)))
- (funcall fun ,@args env)))
- (t
- `(let ((c ,fun))
- (let ((fun (|FunProg| (|ClosFun| c)))
- (env (|ClosEnv| c)))
- (funcall fun ,@args env))))))
+ `(funcall (|FunProg| (|ClosFun| ,fun)) (|ClosEnv| ,fun)))
+ ((null args)
+ `(let ((c ,fun))
+ (funcall (|FunProg| (|ClosFun| c)) (|ClosEnv| c))))
+ ((atom fun)
+ `(let ((fun (|FunProg| (|ClosFun| ,fun)))
+ (env (|ClosEnv| ,fun)))
+ (funcall fun ,@args env)))
+ (t
+ `(let ((c ,fun))
+ (let ((fun (|FunProg| (|ClosFun| c)))
+ (env (|ClosEnv| c)))
+ (funcall fun ,@args env))))))
(defmacro |FoamFree| (o) '())
@@ -683,8 +653,8 @@ provides support for compiler code.
(defmacro defprog (type temps &rest body)
`(progn (defun ,(caar type) ,(mapcar #'car (cadr type))
- (typed-let ,temps ,@body))
- (alloc-prog-info #',(caar type) (make-FoamProgInfoStruct))))
+ (typed-let ,temps ,@body))
+ (alloc-prog-info #',(caar type) (make-FoamProgInfoStruct))))
(defmacro defspecials (&rest lst)
`(proclaim '(special ,@lst)))
@@ -701,17 +671,17 @@ provides support for compiler code.
#-:CCL
(defmacro typed-let (letvars &rest forms)
`(let ,(mapcar #'(lambda (var)
- (list (car var) (type2init (cadr var))))
- letvars )
+ (list (car var) (type2init (cadr var))))
+ letvars )
(declare ,@(mapcar #'(lambda (var)
- (list 'type (cadr var) (car var)))
- letvars))
+ (list 'type (cadr var) (car var)))
+ letvars))
,@forms))
#+:CCL
(defmacro typed-let (letvars &rest forms)
`(let ,(mapcar #'(lambda (var) (car var))
- letvars )
+ letvars )
,@forms))
(defmacro cases (&rest junk)
@@ -721,15 +691,15 @@ provides support for compiler code.
;;; Boot macros
(defmacro file-exports (lst)
`(eval-when (load eval)
- (when (fboundp 'process-export-entry)
- (mapcar #'process-export-entry ,lst))
- nil))
+ (when (fboundp 'process-export-entry)
+ (mapcar #'process-export-entry ,lst))
+ nil))
(defmacro file-imports (lst)
`(eval-when (load eval)
- (when (fboundp 'process-import-entry)
- (mapcar #'process-import-entry ,lst))
- nil))
+ (when (fboundp 'process-import-entry)
+ (mapcar #'process-import-entry ,lst))
+ nil))
(defmacro ignore-var (var)
`(declare (ignore ,var)))
@@ -738,8 +708,8 @@ provides support for compiler code.
(if (eq type '|Char|)
`(make-string ,size)
`(make-array ,size
- :element-type ',type
- :initial-element ,(type2init type))))
+ :element-type ',type
+ :initial-element ,(type2init type))))
#-:CCL
(defun type2init (x)
@@ -777,9 +747,9 @@ provides support for compiler code.
;needs to stop when it gets a null character
(defun |strLength| (s)
(dotimes (i (length s))
- (let ((c (schar s i)))
- (if (char= c |CharCode0|)
- (return i))))
+ (let ((c (schar s i)))
+ (if (char= c |CharCode0|)
+ (return i))))
(length s))
(defun |formatSInt| (n) (format nil "~D" n))
@@ -795,10 +765,10 @@ provides support for compiler code.
;needs to stop when it gets a null character
(defun |printString| (cs s)
(dotimes (i (length s))
- (let ((c (schar s i)))
- (if (char= c |CharCode0|)
- (return i)
- (princ c cs)))))
+ (let ((c (schar s i)))
+ (if (char= c |CharCode0|)
+ (return i)
+ (princ c cs)))))
(defun |printSInt| (cs n) (format cs "~D" n))
(defun |printBInt| (cs n) (format cs "~D" n))
@@ -819,46 +789,46 @@ provides support for compiler code.
;; the given input stream
(defun |fgetss| (s i1 i2 f)
(labels ((aux (n)
- (if (= n i2)
- (progn (setf (schar s n) (code-char 0))
- (- n i1))
- (let ((c (read-char f)))
- (setf (schar s n) c)
- (if (equal c #\newline)
- (progn (setf (char s (+ n 1)) (code-char 0))
- (- n i1))
- (aux (+ n 1)))))))
- (aux i1)))
-
+ (if (= n i2)
+ (progn (setf (schar s n) (code-char 0))
+ (- n i1))
+ (let ((c (read-char f)))
+ (setf (schar s n) c)
+ (if (equal c #\newline)
+ (progn (setf (char s (+ n 1)) (code-char 0))
+ (- n i1))
+ (aux (+ n 1)))))))
+ (aux i1)))
+
;; write s[i1..i2) to the output stream f
;; stop on any null characters
(defun |fputss| (s i1 i2 f)
(labels ((aux (n)
- (if (= n i2) (- n i1)
- (let ((c (schar s n)))
- (if (equal (code-char 0) c)
- (- n i1)
- (progn (princ c f)
- (aux (+ n 1))))))))
- (setq i2 (if (minusp i2) (|strLength| s)
- (min i2 (|strLength| s))))
- (aux i1)))
+ (if (= n i2) (- n i1)
+ (let ((c (schar s n)))
+ (if (equal (code-char 0) c)
+ (- n i1)
+ (progn (princ c f)
+ (aux (+ n 1))))))))
+ (setq i2 (if (minusp i2) (|strLength| s)
+ (min i2 (|strLength| s))))
+ (aux i1)))
;; function for compiling and loading from lisp
(defun compile-as-file (file &optional (opts nil))
(let* ((path (pathname file))
- (name (pathname-name path))
- (dir (pathname-directory path))
- (type (pathname-type path))
- (lpath (make-pathname :name name :type "l"))
- (cpath (make-pathname :name name :type "o")))
+ (name (pathname-name path))
+ (dir (pathname-directory path))
+ (type (pathname-type path))
+ (lpath (make-pathname :name name :type "l"))
+ (cpath (make-pathname :name name :type "o")))
(if (null type)
- (setq path (make-pathname :directory dir :name name :type "as")))
+ (setq path (make-pathname :directory dir :name name :type "as")))
(if opts
- (system (format nil "axiomxl ~A -Flsp ~A" opts (namestring path)))
- (system (format nil "axiomxl -Flsp ~A" (namestring path))))
+ (system (format nil "axiomxl ~A -Flsp ~A" opts (namestring path)))
+ (system (format nil "axiomxl -Flsp ~A" (namestring path))))
(compile-file (namestring lpath))
(load (namestring cpath))))
@@ -895,10 +865,10 @@ provides support for compiler code.
(defun |Halt| (n)
(error (cond ((= n 101) "System Error: Unfortunate use of dependant type")
- ((= n 102) "User error: Reached a 'never'")
- ((= n 103) "User error: Bad union branch")
- ((= n 104) "User error: Assertion failed")
- (t (format nil "Unknown halt condition ~a" n)))))
+ ((= n 102) "User error: Reached a 'never'")
+ ((= n 103) "User error: Bad union branch")
+ ((= n 104) "User error: Assertion failed")
+ (t (format nil "Unknown halt condition ~a" n)))))
;; debuging
(defvar *foam-debug-var* nil)
(defun |fiGetDebugVar| () *foam-debug-var*)
@@ -937,9 +907,3 @@ provides support for compiler code.
( (|politicallySound| (car u) (car v)) (|magicEq1| (cdr u) (cdr v)))
nil ))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/ggreater.lisp b/src/interp/ggreater.lisp
index a77438c0..c27ff31e 100644
--- a/src/interp/ggreater.lisp
+++ b/src/interp/ggreater.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/hash.lisp.pamphlet b/src/interp/hash.lisp
index be039807..b462a621 100644
--- a/src/interp/hash.lisp.pamphlet
+++ b/src/interp/hash.lisp
@@ -1,22 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/hash.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -46,16 +31,13 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(IMPORT-MODULE "vmlisp")
(in-package "BOOT")
(export '(MAKE-HASHTABLE HGET HKEYS HCOUNT HPUT HPUT* HREM HCLEAR HREMPROP
HASHEQ HASHUEQUAL HASHCVEC HASHID HASHTABLEP CVEC UEQUAL ID HPUTPROP
- HASHTABLE-CLASS))
+ HASHTABLE-CLASS))
;17.0 Operations on Hashtables
;17.1 Creation
@@ -63,12 +45,12 @@
(defun MAKE-HASHTABLE (id1 &optional (id2 nil))
(declare (ignore id2))
(let ((test (case id1
- ((EQ ID) #'eq)
- (CVEC #'equal)
- (EQL #'eql)
- #+Lucid ((UEQUAL EQUALP) #'EQUALP)
- #-Lucid ((UEQUAL EQUAL) #'equal)
- (otherwise (error "bad arg to make-hashtable")))))
+ ((EQ ID) #'eq)
+ (CVEC #'equal)
+ (EQL #'eql)
+ #+Lucid ((UEQUAL EQUALP) #'EQUALP)
+ #-Lucid ((UEQUAL EQUAL) #'equal)
+ (otherwise (error "bad arg to make-hashtable")))))
(make-hash-table :test test)))
;17.2 Accessing
@@ -95,18 +77,18 @@
#+AKCL
(defun HASHTABLE-CLASS (table)
(case (memory-value-short table 12)
- (0 'EQ)
- (1 'EQL)
- (2 'EQUAL)
- (t "error unknown hash table class")))
+ (0 'EQ)
+ (1 'EQL)
+ (2 'EQUAL)
+ (t "error unknown hash table class")))
#+:CCL
(defun HASHTABLE-CLASS (table)
(case (hashtable-flavour table)
- (0 'EQ)
- (1 'EQL)
- (2 'EQUAL)
- (t (format nil "error unknown hash table class ~a" (hashtable-flavour table)))))
+ (0 'EQ)
+ (1 'EQL)
+ (2 'EQUAL)
+ (t (format nil "error unknown hash table class ~a" (hashtable-flavour table)))))
(define-function 'HCOUNT #'hash-table-count)
@@ -139,9 +121,3 @@
(define-function 'HASHCVEC #'sxhash)
(define-function 'HASHID #'sxhash)
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/interp-proclaims.lisp b/src/interp/interp-proclaims.lisp
deleted file mode 100644
index 30d61fc7..00000000
--- a/src/interp/interp-proclaims.lisp
+++ /dev/null
@@ -1,3391 +0,0 @@
-
-(IN-PACKAGE "USER")
-(PROCLAIM '(FTYPE (FUNCTION (*) (VALUES T T)) BOOT:|ReadLine|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) FUNCTION) FOAM::FOAMPROGINFOSTRUCT-FUNCALL))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) FIXNUM) BOOT::LINE-NUMBER BOOT::|eq0|
- VMLISP:CHAR2NUM BOOT::|nothingWidth| BOOT::|nothingSub|
- BOOT::|nothingSuper| BOOT::LINE-LAST-INDEX
- BOOT::LINE-CURRENT-INDEX FOAM:|ProgHashCode|
- FOAM:|strLength| BOOT:|StringLength| BOOT::|widthSC|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) FOAM:|SInt|)
- FOAM::FOAMPROGINFOSTRUCT-HASHVAL))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) (VALUES T T)) BOOT::|mkSharpVar|
- BOOT::|makeCharacter| BOOT::|mapCatchName|
- BOOT::|queryUser| BOOT:|LispKeyword| BOOT::MONITOR-INFO
- BOOT::FILE-GETTER-NAME BOOT::|mkDomainCatName|
- FOAM:AXIOMXL-FILE-INIT-NAME BOOT::|getKeyedMsg|
- BOOT::|mkCacheName| BOOT::|mkAuxiliaryName|))
-(PROCLAIM
- '(FTYPE (FUNCTION ((VECTOR T) (VECTOR T)) T) VMLISP::VGREATERP
- VMLISP::LEXVGREATERP))
-(PROCLAIM '(FTYPE (FUNCTION ((VECTOR T)) T) BOOT:TRIMLZ))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) (*)) BOOT:|StringToInteger|
- BOOT:|StringToFloat|))
-(PROCLAIM '(FTYPE (FUNCTION (T *) (VALUES T T)) VMLISP:|read-line|))
-(PROCLAIM '(FTYPE (FUNCTION (STRING FIXNUM) T) BOOT::|subWord|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T) FIXNUM) VMLISP:QSQUOTIENT
- VMLISP:QSREMAINDER VMLISP:QENUM FOAM:|SetProgHashCode|
- BOOT:GETCHARN BOOT::|attributeCategoryParentCount|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T) (VALUES T T)) BOOT::|htMakeLabel|
- BOOT::|fetchKeyedMsg|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T) *) BOOT::|applpar1| BOOT::|apprpar1|
- BOOT::|appargs1| BOOT::|appagg1| BOOT::|matrixBorder|
- BOOT::|e02befDefaultSolve| BOOT::|e02agfDefaultSolve|
- BOOT::|e02dafDefaultSolve| BOOT::|htQueryPage|
- BOOT::|compileAndLink| BOOT::|f04jgfDefaultSolve|
- BOOT::|f02aefDefaultSolve| BOOT::|f02agfDefaultSolve|
- BOOT::|apphor| BOOT::|appvertline| BOOT::|applpar|
- BOOT::|e04jafDefaultSolve| BOOT::|f01brfDefaultSolve|
- BOOT::|e04ycfDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T *) *) VMLISP:CONCAT
- BOOT::LOCALDATABASE BOOT::FE BOOT::|ncBug|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T) *) BOOT::|replacePercentByDollar,fn|
- BOOT::|getSlotFromDomain| BOOT::|ncGetFunction|
- BOOT::|c02affDefaultSolve| BOOT::|c02agfDefaultSolve|
- BOOT::|Qf2F| BOOT::|selectOptionLC| BOOT::|compUniquely|
- BOOT::|compExpression| BOOT::|e02gafDefaultSolve|
- BOOT::|e02aefDefaultSolve| BOOT::|e02bbfDefaultSolve|
- BOOT::|asytranForm| BOOT::|asytranFormSpecial|
- BOOT::|asytranApplySpecial| BOOT::SOCK-GET-STRING
- BOOT::|sockGetString| BOOT::|showIt| BOOT::|pmPreparse,fn|
- BOOT::|pmPreparse,gn| BOOT::|dbSearchAbbrev|
- BOOT::|mkUpDownPattern,recurse| BOOT::|htMkPath|
- BOOT::|getVal| BOOT::|htGlossPage| BOOT::|checkCondition|
- BOOT::|compTopLevel| BOOT::GETOP
- BOOT::|checkTransformFirsts| BOOT::|parseIf,ifTran|
- BOOT::|dbShowOpAllDomains| BOOT::|templateVal|
- BOOT::|dbChooseDomainOp| BOOT::|whoUsesOperation|
- BOOT::|c05pbfDefaultSolve| BOOT::|c05nbfDefaultSolve|
- BOOT::|c06frfDefaultSolve| BOOT::|c06ekfDefaultSolve|
- BOOT::|NRTvectorCopy| BOOT::|c06fufDefaultSolve|
- BOOT::|c06fpfDefaultSolve| BOOT::|c06fqfDefaultSolve|
- BOOT::|applyInPackage| BOOT::|exp2FortSpecial|
- BOOT::|f04mcfDefaultSolve| BOOT::|f04atfDefaultSolve|
- BOOT::|f04fafDefaultSolve| BOOT::|f02affDefaultSolve|
- BOOT::|dbShowCons1| BOOT::|f02aafDefaultSolve|
- BOOT::|dbSelectCon| BOOT::|dbShowOperationsFromConform|
- BOOT::|genSearch1| BOOT::|dbSearch|
- BOOT::|constructorSearch| BOOT::|underscoreDollars,fn|
- BOOT::|oSearchGrep| BOOT::|selectOption|
- BOOT::|constructorSearchGrep| BOOT::|dbInfoChoose1|
- BOOT::|bcDrawIt2| BOOT::|charybdis| BOOT::|bcMkFunction|
- BOOT::|charyTop| BOOT::|bcDrawIt|
- BOOT::|f01qcfDefaultSolve| BOOT::|e02zafDefaultSolve|
- BOOT::|ncloopInclude0| VMLISP:$FCOPY))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T) *) BOOT::|e02befColdSolve|
- BOOT::|e02ahfDefaultSolve| BOOT::|e02akfDefaultSolve|
- BOOT::|d02bbfDefaultSolve| BOOT::|d02cjfDefaultSolve|
- BOOT::|e01sefDefaultSolve| BOOT::|htSetLiterals|
- BOOT::|f04mbfDefaultSolve| BOOT::|f02axfDefaultSolve|
- BOOT::|f02akfDefaultSolve| BOOT::|kcaPage1|
- BOOT::MAKE-DEPSYS BOOT::|makeLongStatStringByProperty|
- BOOT::|f01rdfDefaultSolve| BOOT::|f01qdfDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T) *) BOOT::|compileConstructorLib|
- BOOT::|quoteApp| BOOT::|argsapp| BOOT::|appargs|
- BOOT::|inApp| BOOT::|appsc| BOOT::|appfrac| BOOT::|exptApp|
- BOOT::|charyTrouble| BOOT::|overbarApp|
- BOOT::|appHorizLine| BOOT::|overlabelApp| BOOT::/D-1
- BOOT::|appmat| BOOT::|e01bhfDefaultSolve|
- BOOT::|e02adfDefaultSolve| BOOT::|e02bcfDefaultSolve|
- BOOT::|makeStream| BOOT::|newExpandLocalTypeArgs|
- FOAM:|fputss| FOAM:|fgetss| BOOT::|f01mafDefaultSolve|
- BOOT::|conform2StringList| BOOT::|f02abfDefaultSolve|
- BOOT::|f02awfDefaultSolve| BOOT::|f02ajfDefaultSolve|
- BOOT::|f02adfDefaultSolve| BOOT::|patternCheck,mknew|
- BOOT::|kDomainName| BOOT::|koPageAux| BOOT::|dbShowOp1|
- BOOT::APP BOOT::|appagg| BOOT::|binomialApp|
- BOOT::|charyTrouble1| BOOT::|appsub| BOOT::|slashApp|
- BOOT::|appsetq| BOOT::|makeStatString|
- BOOT::|e02dffDefaultSolve| BOOT::|e04dgfDefaultSolve|
- BOOT::|e04fdfDefaultSolve| BOOT::|e04gcfDefaultSolve|
- BOOT::|f01refDefaultSolve| BOOT::|f01qefDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T T) *) BOOT::|makeFortranFun|
- BOOT::|d03eefDefaultSolve| BOOT::|e04nafDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T) *) BOOT::|e02ajfDefaultSolve|
- BOOT::|e02dcfDefaultSolve| BOOT::|e02ddfDefaultSolve|
- BOOT::|d02ejfDefaultSolve| BOOT::|d02bhfDefaultSolve|
- BOOT::|d01fcfDefaultSolve| BOOT::|d01gbfDefaultSolve|
- BOOT::|f04qafDefaultSolve| BOOT::|f02bjfDefaultSolve|
- BOOT::|f02bbfDefaultSolve| BOOT::|e04mbfDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T T T T T T) *)
- BOOT::BUILD-INTERPSYS))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T) *) BOOT::|e02ddfColdSolve|
- BOOT::|f02xefDefaultSolve| BOOT::|f02wefDefaultSolve|
- BOOT::BUILD-DEPSYS))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T) *) BOOT::|e04ucfDefaultSolve|
- BOOT::|e02dcfColdSolve| BOOT::|d02kefDefaultSolve|
- BOOT::|d02gbfDefaultSolve| BOOT::|d02gafDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T T T T T) *)
- BOOT::|d02rafDefaultSolve|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T) T) BOOT::|mapRecurDepth| BOOT::THETACHECK
- BOOT::|flowSegmentedMsg| BOOT::|rewriteMap0|
- BOOT::|restoreDependentMapInfo| BOOT::|dcSig|
- BOOT::|analyzeNonRecur| BOOT::|addMap| BOOT::|fortCall|
- BOOT::|axAddLiteral| BOOT::|writeStringLengths|
- BOOT::|writeXDR| BOOT::|deleteMap| BOOT::|fnameNew|
- BOOT::|axFormatDefaultOpSig| BOOT::|htpSetProperty|
- BOOT::|rewriteMap1| BOOT::|displayMap|
- BOOT::|compileDeclaredMap| BOOT::|compileCoerceMap|
- BOOT::|displaySingleRule| BOOT::|hasAtt| BOOT::|hasAttSig|
- BOOT::SPADRWRITE0 BOOT::SPADRWRITE BOOT::|recordNewValue|
- BOOT::|recordOldValue| BOOT::|orderUnionEntries,split|
- BOOT::|getSlotNumberFromOperationAlist|
- BOOT::|isSuperDomain| BOOT::|recordOldValue0|
- BOOT::|PARSE-getSemanticForm| BOOT::|recordNewValue0|
- BOOT::|getSlotFromFunctor| BOOT::|addConstructorModemaps|
- BOOT::|compDefWhereClause| BOOT::|get1| BOOT::|get2|
- BOOT::|get0| BOOT::|throwListOfKeyedMsgs|
- BOOT::|getConstructorOpsAndAtts|
- BOOT::|mkExplicitCategoryFunction|
- BOOT::|findDomainSlotNumber| BOOT::|addIntSymTabBinding|
- BOOT::|sigsMatch| BOOT::|compDefineAddSignature|
- BOOT::|hasFullSignature| BOOT:ELEMN BOOT::|mkAtree2|
- BOOT::|mkAtree3| BOOT::|getValueFromSpecificEnvironment|
- BOOT::|compForMode| BOOT::|transferPropsToNode,transfer|
- BOOT::|genDomainOps| BOOT::|getOperationAlist|
- BOOT::|remprop| BOOT::|setMsgForcedAttr| BOOT::|P2Uts|
- BOOT::|Up2FR| BOOT::|mac0Define| BOOT::|getMappingArgValue|
- BOOT::|compContained| BOOT::|getArgValueComp|
- BOOT::|altTypeOf| BOOT::|mac0InfiniteExpansion|
- BOOT::|setMsgUnforcedAttr| BOOT::|genDomainViewList|
- BOOT::|compSubDomain| BOOT::|compCapsule|
- BOOT::|sideEffectedArg?| BOOT::|evalFormMkValue|
- BOOT::|doItIf| BOOT::|compSingleCapsuleItem|
- BOOT::|compJoin| BOOT::|rewriteMap|
- BOOT::|NRTgetLookupFunction| BOOT::|lisplibWrite|
- BOOT::|getLocalMms| BOOT::|makeFunctorArgumentParameters|
- BOOT::|selectMmsGen,exact?| BOOT::REDUCE-1
- BOOT::|getLocalMms,f| BOOT::|isOpInDomain|
- BOOT::|compDefine| BOOT::|compCategory|
- BOOT::|getTargetFromRhs| BOOT::|unifyStructVar|
- BOOT::|augmentSub| BOOT::|unifyStruct| BOOT::|compAdd|
- BOOT::|filterModemapsFromPackages| BOOT::|constrArg|
- BOOT::|evalMmCond0| BOOT::|maprinSpecial| BOOT::|hasCaty|
- BOOT::|evalMmCond| BOOT:ADDASSOC BOOT::|hasCate|
- BOOT::|matchTypes| BOOT::|findUniqueOpInDomain|
- BOOT::|hasSigOr| BOOT::|hasSigAnd|
- BOOT::|findCommonSigInDomain| BOOT::|evalMmCat1|
- BOOT::|coerceTypeArgs| BOOT::|domArg2| BOOT::|L2Tuple|
- BOOT::V2M BOOT::DEF-INNER BOOT::|OV2Sy| BOOT::|Qf2EF|
- BOOT::|Sy2P| BOOT::I2NNI BOOT::|Rm2L| BOOT::|Var2OtherPS|
- BOOT::|Var2UpS| BOOT::OV2SE BOOT::|NDmp2domain| VMLISP:PUT
- BOOT::|Var2Up| BOOT::|Expr2Mp| BOOT::|Expr2Dmp|
- BOOT::|Sy2NDmp| VMLISP:DEFIOSTREAM BOOT::|Dmp2P|
- BOOT::|Sy2Mp| BOOT::|Var2SUP| BOOT::|Factored2Factored|
- VMLISP:EQSUBSTLIST BOOT::I2PI BOOT::|P2Expr| BOOT::|P2Up|
- BOOT::|P2Dmp| BOOT::|Var2FS| BOOT::|Sy2Dmp| BOOT::B-MDEF
- BOOT::|Ker2Expr| BOOT::|Sy2OV| BOOT::|Var2QF| BOOT::|Sm2V|
- BOOT::M2V BOOT::|Var2P| BOOT::I2OI BOOT::P2FR
- BOOT::|makeEijSquareMatrix| BOOT::|Set2L| BOOT::|Sm2Rm|
- BOOT::DEF BOOT::|Var2NDmp| BOOT::|Dmp2Dmp|
- BOOT::|coerceDmp2| BOOT::|rread| BOOT::I2EI BOOT::|Var2Mp|
- BOOT::|compCapsuleInner| BOOT::|Mp2FR| BOOT::|Qf2domain|
- BOOT::|compCapsuleItems| BOOT::|L2Set| BOOT::|Var2Gdmp|
- BOOT::COMP-ILAM BOOT::COMP-SPADSLAM BOOT::|L2Sm|
- BOOT::|mkCategoryPackage| BOOT::COMP-SLAM BOOT::L2M
- BOOT::|compDefine1| BOOT::|Mp2Expr| BOOT::|Ker2Ker|
- BOOT::|Var2Dmp| VMLISP:MSUBST BOOT::|Dmp2NDmp|
- BOOT::|Sm2PolyType| BOOT::|Var2OV|
- BOOT::|orderPredicateItems| BOOT::|L2Rm| BOOT::|substVars|
- BOOT::|OV2poly| BOOT::|Sm2M|
- BOOT::|augmentLisplibModemapsFromFunctor| BOOT::OV2P
- BOOT::|needBlankForRoot| BOOT::|Rn2F|
- BOOT::|getInCoreModemaps| BOOT::|Sm2L| BOOT::|splitConcat|
- BOOT::|Un2E| BOOT::|SUP2Up| BOOT::OV2OV
- BOOT::|insertAlist,fn| BOOT::|replaceVars|
- BOOT::|compFromIf| BOOT::|Scr2Scr| BOOT::|compBoolean|
- BOOT::|L2Record| BOOT::|Rm2V| VMLISP:RPLNODE
- BOOT::|domain2NDmp| BOOT::|Up2Up|
- BOOT::|augLisplibModemapsFromCategory| BOOT::|P2Mp|
- BOOT::|compWithMappingMode,FreeList| BOOT::|orderPredTran|
- BOOT::|Rm2Sm| BOOT::|Rm2M| BOOT::|Up2SUP| BOOT::|Mp2Up|
- BOOT::|Mp2Dmp| BOOT::|LargeMatrixp| BOOT::DP2DP
- BOOT::|Dmp2Up| BOOT::|Up2P| BOOT::|Complex2Expr|
- BOOT::|seteltModemapFilter| BOOT::/MONITORX BOOT::|P2Upxs|
- BOOT::|coerceTraceFunValue2E| BOOT::|Complex2FR|
- BOOT::|Up2Mp| BOOT::V2L BOOT::|P2Uls| BOOT::|M2Sm|
- BOOT::|coerceTraceArgs2E| BOOT::|Complex2underDomain|
- BOOT::|resolveTTRed2| BOOT::|Agg2L2Agg|
- BOOT::|resolveTTRed1| BOOT::|fnameMake|
- BOOT::MONITOR-PRINARGS VMLISP:HREMPROP
- BOOT::|eltModemapFilter| BOOT::|coerceOrCroak|
- BOOT::|resolveTTEq2| BOOT::|resolveTTEq1|
- BOOT::|matchUpToPatternVars|
- BOOT::|getConditionalCategoryOfType|
- BOOT::|getSubDomainPredicate| BOOT::|resolveTMEq2|
- BOOT::|coerceIntX| BOOT::|compSymbol|
- BOOT::|coerceSubDomain| BOOT::|compExpressionList|
- BOOT::|NRTcompileEvalForm| BOOT::|setqMultiple,decompose|
- BOOT::|permuteToOrder| BOOT::|retractUnderDomain|
- BOOT::|compList| BOOT::SMALL-ENOUGH-COUNT
- BOOT::|isRectangularList| BOOT::|augModemapsFromDomain1|
- BOOT::|canCoerceByFunction1|
- BOOT::|sayFunctionSelectionResult| BOOT::|compForm|
- BOOT::|compTypeOf| BOOT::|comp3| BOOT::|coerceOrFail|
- BOOT::|computeTTTranspositions,compress| BOOT::|algEqual|
- BOOT::|compiledLookupCheck| VMLISP:RWRITE
- BOOT::|coerceOrThrowFailure| BOOT::|NRTcompiledLookup|
- BOOT::|spad2BootCoerce| BOOT::|M2Rm| BOOT::M2M
- VMLISP:MACRO-INVALIDARGS BOOT::L2V BOOT::|Mp2P|
- BOOT::|Mp2Mp| BOOT::|coerceDmpCoeffs| BOOT::|Expr2Complex|
- BOOT::|Dmp2Expr| BOOT::|coerceFFE| BOOT::M2L VMLISP:QESET
- BOOT::|V2Sm| BOOT::|isRectangularVector| BOOT::V2DP
- BOOT::L2DP BOOT::|Up2Expr| BOOT::|Qf2Qf| BOOT::|NDmp2NDmp|
- BOOT::|V2Rm| BOOT::|Qf2PF| BOOT::|Dmp2Mp| BOOT::|Up2Dmp|
- BOOT::|Sy2Var| BOOT::|Agg2Agg| BOOT::|Expr2Up|
- BOOT::|Sy2Up| VMLISP:HPUT BOOT::|pvarCondList1|
- VMLISP:SUBSTRING BOOT::|interpRewriteRule| BOOT::|putAtree|
- BOOT::|isEltable| BOOT::|selectMms| BOOT::|throwKeyedMsgSP|
- BOOT::|pushDownTargetInfo|
- BOOT::|pushDownOnArithmeticVariables|
- BOOT::|keyedMsgCompFailureSP| BOOT::|intCodeGenCoerce1|
- BOOT::|throwKeyedMsgCannotCoerceWithValue|
- BOOT::|asytranForm1| BOOT::|hput| BOOT::|asyCattranOp1|
- BOOT::|asyMakeOperationAlist| BOOT::|setVector4|
- BOOT::|SetDomainSlots124| BOOT::|asGetExports|
- BOOT::|asySig1| BOOT::|ncPutQ|
- BOOT::|putConstructorProperty| BOOT::|throwKeyedErrorMsg|
- BOOT::|mkUserConstructorAbbreviation|
- BOOT::|unabbrevSpecialForms| BOOT::|nAssocQ|
- BOOT::|New,ENTRY,2| BOOT::READ-INPUT BOOT::READ-SPAD
- BOOT::|errorSupervisor1| BOOT::|argumentDataError|
- BOOT::|BesselasymptA| BOOT::|htpSetLabelSpadValue|
- BOOT::|optPackageCall| BOOT::|from?| BOOT::|clngamma|
- BOOT::|chebevalarr| BOOT::|PsiBack| BOOT::|logH|
- BOOT::|PiMinusLogSinPi| BOOT::|besselIcheb|
- BOOT::|chebstarevalarr| BOOT::|chebf01coefmake|
- BOOT::|clngammacase23| BOOT::|PsiAsymptoticOrder|
- BOOT::|grepf| BOOT::|clngammacase1| BOOT::|cotdiffeval|
- BOOT::|BesselIAsympt| BOOT::|lffloat|
- BOOT::|substringMatch| BOOT::|makeResultRecord|
- BOOT::|makeCompilation| BOOT::|extractFileNameFromPath,fn|
- BOOT::|makeAspGenerators| BOOT::|makeAspGenerators1|
- BOOT::|mkNewUnionFunList| BOOT::|EnumEqual|
- BOOT::|cleanUpAfterNagman| BOOT::|sySpecificErrorAtToken|
- BOOT::|prepareResults,defaultValue|
- BOOT::|setVector4Onecat| BOOT::|pfLambda| BOOT::|pfWIf|
- BOOT::|SigSlotsMatch| BOOT::|DomainPrint1|
- BOOT::|DescendCodeAdd1,update| BOOT::|CheckVector|
- BOOT::|pfTLambda| BOOT::|htSystemVariables,fn|
- BOOT::|postCollect,finish| VMLISP:|nsubst|
- BOOT::|npBackTrack| BOOT::|bchtMakeButton|
- BOOT::|compWhere| BOOT::|compVector| BOOT::|compAtom|
- BOOT::|getUniqueModemap| BOOT::|modeIsAggregateOf|
- BOOT::|compArgumentsAndTryAgain| VMLISP:MACRO-MISSINGARGS
- BOOT::|compForm1| BOOT::|mergeModemap|
- BOOT::|compSubsetCategory| BOOT::|compString|
- BOOT::|augModemapsFromDomain| BOOT::|compWithMappingMode|
- BOOT::|extractCodeAndConstructTriple| BOOT::|compCat|
- BOOT::|pfWith| BOOT::|compMakeDeclaration|
- BOOT::|extendsCategoryForm| BOOT::|compSeq|
- BOOT::|compSeq1| BOOT::|compReturn| BOOT::|isSubset|
- BOOT::|getModemapList| BOOT::|compCase1|
- BOOT::|compCoerce1| BOOT::|compPretend| BOOT::|compMacro|
- BOOT::|compConstructorCategory| BOOT::|compCoerce|
- BOOT::|compColon| BOOT::|compSetq| BOOT::|compLeave|
- BOOT::|npList| BOOT::|modeEqualSubst| BOOT::|compIf|
- BOOT::|compIs| BOOT::|comp2| BOOT::|compImport|
- BOOT::|coerce,fn| BOOT::|throwKeyedMsgFromDb|
- BOOT::|sayKeyedMsgFromDb| BOOT::|compHas| BOOT::|compExit|
- BOOT::|compElt| BOOT::|compConstruct| BOOT::|compCons|
- BOOT::|compCons1| BOOT::|compSeqItem|
- BOOT::|recordInstantiation1| BOOT::|compCase|
- BOOT::|compQuote| BOOT::|recordInstantiation|
- BOOT::|compAtSign| BOOT::|compSuchthat|
- BOOT::|addToConstructorCache| BOOT::|loadLibNoUpdate|
- BOOT::SETDATABASE BOOT::|lassocShiftWithFunction|
- BOOT::|assocCache| BOOT::|assocCacheShift|
- BOOT::|assocCacheShiftCount| BOOT::|pileForests|
- BOOT::|isLegitimateMode;| BOOT::|hasFileProperty;|
- BOOT::|coerceConvertMmSelection;|
- BOOT::|hasFilePropertyNoCache| BOOT::|writeLib1|
- BOOT::|rwrite| BOOT::|putModemapIntoDatabase|
- BOOT::|getOplistWithUniqueSignatures|
- BOOT::|checkSkipOpToken| BOOT::|checkSkipIdentifierToken|
- BOOT::|readLib1| BOOT::|checkSkipBlanks|
- BOOT::MAKE-PARSE-FUNC-FLATTEN-1 BOOT::|checkSkipToken|
- BOOT::|getDocForCategory| BOOT::|newWordFrom|
- BOOT::PRINT-XDR-STREAM BOOT::|getDocForDomain|
- BOOT::|getDoc| BOOT::|htcharPosition|
- BOOT::|PackageDescendCode| BOOT::|RecordEqual|
- BOOT::|processPackage,replace| BOOT::|UnionEqual|
- BOOT::|mkEnumerationFunList| BOOT::|mkMappingFunList|
- BOOT::|mkUnionFunList| BOOT::|mkRecordFunList|
- BOOT::|MappingEqual| BOOT::|CondAncestorP|
- BOOT::|updateDatabase| BOOT::|compressSexpr|
- BOOT::|parseTypeError| BOOT::|moreGeneralCategoryPredicate|
- BOOT::|encodeUnion| BOOT::|makeCatPred|
- BOOT::|lookupInDomainByName| BOOT::|simpHasAttribute|
- BOOT::|domainHput| BOOT::|simpHasPred,simpHas|
- BOOT::|substDollarArgs| BOOT::|NRTisRecurrenceRelation|
- BOOT::|dbShowOpSigList| BOOT::|dbSelectData|
- BOOT::|dbReduceOpAlist| BOOT::|listOfCategoryEntriesIf|
- BOOT::|dbResetOpAlistCondition|
- BOOT::|algCoerceInteractive| BOOT::|buildPredVector,fn|
- BOOT::|extendsCategoryBasic| BOOT::|catExtendsCat?|
- BOOT::|expandType| BOOT::|expandTypeArgs| BOOT::|stuffSlot|
- BOOT::|dbPresentOpsSaturn| BOOT::|reduceOpAlistForDomain|
- BOOT::|mungeAddGensyms,fn| BOOT::|dbReduceBySelection|
- BOOT::|extendsCategoryBasic0| BOOT::|substSlotNumbers|
- BOOT::|dbReduceBySignature| BOOT::|extendsCategory|
- BOOT::|buildPredVector| BOOT::|dbParts|
- BOOT::|NRTextendsCategory1| BOOT::|getSubstQualify|
- BOOT::|fortFormatLabelledIfGoto| BOOT::|whoUsesMatch1?|
- BOOT::|fullSubstitute| BOOT::|whoUsesMatch?|
- BOOT::|getfortarrayexp| BOOT::|addWhereList|
- BOOT::|dbGetDisplayFormForOp|
- BOOT::|dbGetFormFromDocumentation| BOOT::|anySubstring?|
- VMLISP::MAKE-ENTRY BOOT::|NRTsetVector4a|
- BOOT::|NRTsetVector4Part1| BOOT::|NRTencode,encode|
- BOOT::|consOpSig| BOOT::|genSlotSig| BOOT::|NRTsetVector4|
- BOOT::|newExpandGoGetTypeSlot| BOOT::MAKEOP
- BOOT::|insertEntry| BOOT::|nextown| BOOT::|mkFortFn|
- BOOT::|exp2Fort2| BOOT::|evalQUOTE| BOOT::|evalSEQ|
- BOOT::|IFcodeTran| BOOT::|exp2FortFn|
- BOOT::|fortFormatHead| BOOT::|addContour,fn1|
- BOOT::|traverse,traverseInner| BOOT::|upTableSetelt|
- BOOT::|printSignature| BOOT::|addContour,fn3|
- BOOT::|commandAmbiguityError| BOOT::|charPosition|
- BOOT::|traverse| BOOT::|dbPart| BOOT::|commandErrorMessage|
- BOOT::|substituteOp| BOOT::|displayModemap|
- BOOT::|displayType| BOOT::|comp| BOOT::|displayMode|
- BOOT::|numOfOccurencesOf,fn| VMLISP::QUOREM
- BOOT::|pmatchWithSl| BOOT::|displayCondition|
- BOOT::|displayValue|
- BOOT::|intersectionContour,buildModeAssoc| BOOT::|get|
- BOOT::|sigDomainVal| BOOT::GEQNSUBSTLIST
- BOOT::|compNoStacking| BOOT::|transImplementation|
- BOOT::GEQSUBSTLIST BOOT::|libConstructorSig,g|
- BOOT::|coerceable| BOOT::|substituteIntoFunctorModemap|
- BOOT::|adjExitLevel| BOOT::|getParentsFor|
- BOOT::|asytranApply| BOOT::|explodeIfs,fn| BOOT::|dbSplit|
- BOOT::|buildLibAttr| BOOT::|buildLibOp|
- BOOT::|transKCatAlist| BOOT::|dbTickIndex|
- BOOT::|insertShortAlist| BOOT::|sublisFormal,sublisFormal1|
- BOOT::PUTALIST FOAM:|FormatNumber|
- BOOT::|dbSetOpAlistCondition| BOOT::|compiledLookup|
- BOOT::|insertAlist| BOOT::|reduceAlistForDomain|
- BOOT:|StreamCopyChars| BOOT:|StreamCopyBytes|
- BOOT::|dbXParts| BOOT::|kePageDisplay|
- BOOT::|dbShowOpItems| BOOT::MKPFFLATTEN-1
- BOOT::|dbSearchOrder| BOOT::CARCDRX1 BOOT::SETELTREST
- BOOT::SETELTFIRST BOOT::AS-INSERT1 BOOT::AS-INSERT
- BOOT::PROPERTY BOOT::|mkDomTypeForm| BOOT::|stringPosition|
- BOOT:|StringFromTo| BOOT::|patternCheck,equal|
- BOOT:|StringFromLong| BOOT::|rightCharPosition|
- BOOT::|infix?| BOOT::|matchSegment?| BOOT::|stringMatch|
- BOOT::|skipBlanks| BOOT::|dbPresentConsSaturn|
- BOOT::MAKE-DEFUN BOOT::|compOrCroak| BOOT::|profileRecord|
- BOOT::|getSignature| BOOT::|traceDomainLocalOps|
- BOOT::|getArgumentModeOrMoan|
- BOOT::|filterListOfStringsWithFn|
- BOOT::|mkGrepPattern1,charPosition|
- BOOT::|displayModemap,g|
- BOOT::|filterAndFormatConstructors| BOOT::READ-BOOT
- BOOT::|userLevelErrorMessage| BOOT::|addBinding|
- BOOT::|dbShowConsDoc1| BOOT::|makePathname|
- BOOT::|mkConform| BOOT::|dbInfoFindCat| BOOT::|compReduce|
- BOOT::|dbShowInfoList| BOOT::|dbShowConditions|
- BOOT::|compRepeatOrCollect| BOOT::|dbInfoOrigin|
- BOOT::|dbConstructorDoc| BOOT::|interpret2|
- BOOT::|htpSetLabelInputString| BOOT::|letPrint2|
- BOOT::|letPrint| BOOT::|mapLetPrint|
- BOOT::|htpAddInputAreaProp| BOOT::|getOpBindingPower|
- BOOT::|infixArgNeedsParens| BOOT::|linearFinalRequest|
- BOOT::|bcInputEquations,f| BOOT::|htpSetLabelErrorMsg|
- BOOT::|isBreakSegment?| BOOT::|substring?|
- BOOT::|sublisMatAlist| BOOT::MAKESPAD
- BOOT::|reportCategory| BOOT::|longext|
- BOOT::|npParenthesize| BOOT::|bcString2WordList,fn|
- VMLISP::ECQGENEXP VMLISP::RCQGENEXP BOOT::|outputString|
- BOOT::|outputNumber| VMLISP::DODSETQ
- BOOT::|pfInfApplication| BOOT::|insertString|
- BOOT::|npAndOr| BOOT::|npListofFun| BOOT::|optSpecialCall|
- BOOT::|pfPushBody| BOOT::|pfIf| BOOT::|incZip|
- BOOT::|augProplist| BOOT::|augProplistInteractive|
- BOOT::|centerString| BOOT::|evalCOLLECT|
- BOOT::|interpCOLLECTbody| BOOT::|upLoopIterIN|
- BOOT::|position,posn| BOOT::|domainVal| BOOT::|subVecNodes|
- BOOT::|addBindingInteractive| BOOT::|interpCOLLECT|
- BOOT::|upTaggedUnionConstruct| BOOT::|upRecordConstruct|
- BOOT::|newExpandTypeSlot| BOOT::|upNullList|
- BOOT::|upStreamIterIN| BOOT::|getCatForm|
- BOOT::|oldAxiomAddChild| BOOT::|evalCOERCE|
- BOOT::|mkAndApplyZippedPredicates| BOOT::|lookupPred|
- BOOT::|oldAxiomDomainHasCategory| BOOT::|mkIterFun|
- BOOT::|attributeCategoryBuild|
- BOOT::|oldAxiomCategoryBuild| BOOT::|upLETtype|
- BOOT::|upLETWithFormOnLhs| BOOT::|lazyMatchAssocV1|
- BOOT::|oldAxiomCategoryNthParent| BOOT::|assignSymbol|
- BOOT::|evalIsntPredicate| BOOT::|evalIsPredicate|
- BOOT::|SpadInterpretStream| BOOT::|upSetelt| BOOT:SUBLISLIS
- BOOT::|upNullTuple| BOOT::|evalIF| BOOT::|intloopProcess|
- BOOT::|evalis| BOOT::|evalREPEAT| BOOT::|upwhereMain|
- BOOT::|upwhereMkAtree| BOOT::|upwhereClause|
- BOOT::|intloopInclude0| BOOT::|intloopSpadProcess,interp|
- BOOT::|incPrefix?| BOOT::|inclmsgIfSyntax|
- BOOT::|renamePatternVariables1| BOOT::|newExpandLocalType|
- BOOT::|newExpandLocalTypeForm|
- BOOT::|oldAxiomPreCategoryBuild|
- BOOT::|getFunctionFromDomain| BOOT::|lazyOldAxiomAddChild|
- BOOT:SUBSTEQ BOOT::|getOpCode| BOOT::|lazyDomainSet|
- BOOT::|application2String| BOOT::|putI| BOOT::|mkInterpFun|
- BOOT::|interpret1| BOOT::|analyzeMap0|
- BOOT::|reportOpSymbol,sayMms| BOOT::|findLocalsInLoop|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T) T) BOOT::|analyzeRecursiveMap|
- BOOT::|augmentMap| BOOT::|reportFunctionCompilation|
- BOOT::|putSrcPos| BOOT::|hasSigInTargetCategory,fn|
- BOOT::|encodeFunctionName| BOOT::|getArgValueComp2|
- BOOT::|augModemapsFromCategory| BOOT::|compDefineFunctor1|
- BOOT::|augModemapsFromCategoryRep|
- BOOT::|compDefineFunctor| BOOT::|processFunctor|
- BOOT::|buildFunctor| BOOT::|selectMmsGen,matchMms|
- BOOT::|makeConstrArg|
- BOOT::|commuteSparseUnivariatePolynomial|
- BOOT::|commuteUnivariatePolynomial|
- BOOT::|commuteSquareMatrix| BOOT::|coerceDmp1|
- BOOT::|aggregateApp| BOOT::|compDefineCategory1|
- BOOT::|commuteFraction| BOOT::|compDefineCategory|
- BOOT::|commuteQuaternion| BOOT::|commuteComplex|
- BOOT::|resolveTT2| BOOT::|concatApp1|
- BOOT::|compFormPartiallyBottomUp|
- BOOT::|canReturn,findThrow| BOOT::|orderMms|
- BOOT::|sayFunctionSelection| BOOT::MATCH-FUNCTION-DEF
- BOOT::|commuteNewDistributedMultivariatePolynomial|
- BOOT::|commuteMPolyCat|
- BOOT::|commuteDistributedMultivariatePolynomial|
- BOOT::|commuteMultivariatePolynomial|
- BOOT::|commutePolynomial| BOOT::|bottomUpDefaultCompile|
- BOOT::|bottomUpDefaultEval| BOOT::|bottomUpFormTuple|
- BOOT::|bottomUpFormAnyUnionRetract| BOOT::|bottomUpForm|
- BOOT::|bottomUpFormUntaggedUnionRetract|
- BOOT::|bottomUpFormRetract| BOOT::|bottomUpForm2|
- BOOT::|bottomUpForm0| BOOT::|bottomUpForm3|
- BOOT::|coerceByTable| BOOT::|compileRecurrenceRelation|
- BOOT::|logS| BOOT::|spadify| BOOT::|prepareResults|
- BOOT::|DescendCodeAdd1|
- BOOT::|htSystemVariables,displayOptions| BOOT::|evalAndSub|
- BOOT::FINCOMBLOCK BOOT::|compIf,Env| BOOT::LOCALASY
- BOOT::|mkCacheVec| BOOT::LOCALNRLIB BOOT::|selectMms1;|
- BOOT::|selectMms2| BOOT::|processPackage|
- BOOT::|mkCategory| BOOT::|newCompareSig|
- BOOT::|lookupInDomain| BOOT::|fortFormatDo|
- BOOT::|newLookupInDomain| BOOT::|getNewDefaultPackage|
- BOOT::|printLabelledList| BOOT::|compApplication|
- BOOT::|dbExpandOpAlistIfNecessary| BOOT::-REDUCE
- BOOT::|compDefineCapsuleFunction| BOOT::|genSearchSay|
- BOOT::|compRepeatOrCollect,fn| BOOT::|dbGetDocTable|
- BOOT::|apprpar| BOOT::WRITE-TAG-LINE BOOT::|concatTrouble|
- BOOT::|charyBinary| BOOT::|split2| BOOT::|needStar|
- BOOT::|lazyMatchArg2| BOOT::|newLookupInTable|
- BOOT::|hashNewLookupInTable| BOOT::|compileADEFBody|
- BOOT::|interpLoopIter| BOOT::|compileIF|
- BOOT::|xlCannotRead| BOOT::|xlMsg| BOOT::|xlNoSuchFile|
- BOOT::|incLine| BOOT::|xlFileCycle| BOOT::|xlConStill|
- BOOT::|xlConActive| BOOT::|xlSay| BOOT::|xlOK1|
- BOOT::|incLude| BOOT::|analyzeDeclaredMap|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T) T) BOOT::|analyzeNonRecursiveMap|
- BOOT::|makeInternalMapName| BOOT::|printCName|
- BOOT::|clearDep1| BOOT::|domArg| BOOT::|mkDomPvar|
- BOOT::|hasSig| BOOT::|putIntSymTab|
- BOOT::|findConstructorSlotNumber| BOOT::MAKE-FLOAT
- BOOT::|getFileProperty|
- BOOT::|compDefWhereClause,fetchType| BOOT::|compSubDomain1|
- BOOT::|putFileProperty| BOOT::|srcPosNew|
- BOOT::|substNames| BOOT::|mac0MLambdaApply|
- BOOT::|mac0ExpandBody| BOOT::|genDomainView|
- BOOT::|getArgValue2| BOOT::|compFunctorBody|
- BOOT::|analyzeMap| BOOT::|defaultTarget|
- BOOT::|selectDollarMms| BOOT::|selectMmsGen|
- BOOT::|allOrMatchingMms| BOOT::|evalMmCat|
- BOOT::|matchMmSig| BOOT::/LOCATE BOOT::|hasCateSpecialNew|
- BOOT::|evalMm| BOOT::|evalMmFreeFunction|
- BOOT::|hasCateSpecial| BOOT::|hasCate1| BOOT::|boxApp|
- BOOT::|concatApp| BOOT::|appsum| BOOT::|altSuperSubApp|
- BOOT::|concatbApp| BOOT::|appSum| BOOT::|binomApp|
- BOOT::|aggApp| BOOT::|fixUpPredicate| BOOT::|stepApp|
- BOOT::|appneg| BOOT::|setqMultipleExplicit|
- BOOT::|braceApp| BOOT::|compSetq1| BOOT::|timesApp|
- BOOT::|rootApp| BOOT::|bracketApp| BOOT::|plusApp|
- BOOT::|appparu1| BOOT::|bigopWidth| BOOT::|P2Us|
- BOOT::|pi2App| BOOT::|boxLApp| VMLISP:STRPOSL
- BOOT::|compOrCroak1| BOOT::|piApp| BOOT::|compForm2|
- BOOT::|compForm3| BOOT::|getConditionalCategoryOfType1|
- BOOT::|indefIntegralApp| BOOT::|nothingApp|
- BOOT::|evalconstruct| BOOT::|evalInfiniteTupleConstruct|
- BOOT::|setqSetelt| BOOT::|evalTupleConstruct|
- BOOT::|consProplistOf| BOOT::|setqMultiple|
- BOOT::|coerceImmediateSubDomain| BOOT::|intApp|
- BOOT::|setqSingle| BOOT::|assignError| BOOT::|sigma2App|
- BOOT::|canReturn| BOOT::|appext| BOOT::|centerApp|
- BOOT::|sigmaApp| BOOT::|stringApp| BOOT::|MpP2P|
- BOOT::|evalForm| BOOT::|selectLocalMms|
- BOOT::|bottomUpDefault| BOOT::|canCoerceTopMatching|
- BOOT::|catchCoerceFailure| BOOT::|asGetModemaps|
- BOOT::|asytranCategory| BOOT::|asytranCategoryItem|
- BOOT::|asytranDeclaration|
- BOOT::|InvestigateConditions,flist| BOOT::|getTranslation|
- BOOT::|condUnabbrev|
- BOOT::|constructorAbbreviationErrorCheck| BOOT::READ-SPAD0
- BOOT::|BesselasymptB| BOOT::|optCallSpecially|
- BOOT::|getDocDomainForOpSig| BOOT::|reportFunctionCacheAll|
- BOOT::|clngammacase2| BOOT::|constoken| BOOT::|writeMalloc|
- BOOT::|printDec| BOOT::|htPred2English,gn|
- BOOT::|prepareData| BOOT::|protectedNagCall|
- BOOT::|axiomType| BOOT::|DescendCode|
- BOOT::|SetFunctionSlots|
- BOOT::|InvestigateConditions,update|
- BOOT::|htSystemVariables,functionTail| VMLISP:STRPOS
- BOOT::|replaceExitEtc,fn| BOOT::|compNoStacking1|
- BOOT::|compClam| BOOT::|getModemapListFromDomain|
- BOOT::|say2Split| BOOT::|compColonInside| BOOT::|haddProp|
- BOOT::|npEnclosed| BOOT::|hputNewProp|
- BOOT::ASHARPMKAUTOLOADFUNCTOR
- BOOT::ASHARPMKAUTOLOADCATEGORY BOOT::|addCoreModemap|
- BOOT::|getMatchingRightPren| BOOT::|checkHTargs|
- BOOT::|mkOperatorEntry| BOOT::|catPairUnion|
- BOOT::|lookupUF| BOOT::|newLookupInCategories|
- BOOT::|lookupFF| BOOT::|simpHasSignature|
- BOOT::|compareSig| BOOT::|lazyCompareSigEqual|
- BOOT::|lookupInAddChain| BOOT::|lookupInCategories|
- BOOT::|lookupInTable| BOOT::|lookupDisplay|
- BOOT::|domainTableLookup| BOOT::|dbShowOpConditions|
- BOOT::|dbShowOpParameterJump|
- BOOT::|dbShowOpImplementations| BOOT::|dbShowOpParameters|
- BOOT::|dbShowOpOrigins| BOOT::|dbShowOpSignatures|
- BOOT::|getSigSubst| BOOT::|optDeltaEntry|
- BOOT::|lazyMatchArg| BOOT::|nrunNumArgCheck|
- BOOT::|nextown2| BOOT::|semchkProplist|
- BOOT::|interpREPEAT| BOOT::|makeCommonEnvironment,fn|
- BOOT::|compMapCondFun| BOOT::|compApplyModemap|
- BOOT::|compMapCond| BOOT::|compMapCond'|
- BOOT::|compToApply| BOOT::REDUCE-N BOOT::|applyMapping|
- BOOT::|compFormWithModemap| BOOT::|compAtomWithModemap|
- BOOT::|ancestorsRecur| BOOT::|checkCommentsForBraces|
- BOOT::|dbShowOpDocumentation| BOOT::|dbShowOpNames|
- BOOT::REDUCE-N-1 BOOT::|dbGatherData| BOOT::|dbConsHeading|
- BOOT::REDUCE-N-2 BOOT::|termMatch| BOOT::|matchAnySegment?|
- BOOT::|replaceExitEtc| BOOT::|put| BOOT::|checkAndDeclare|
- BOOT::|hasSigInTargetCategory| BOOT::READ-SPAD1
- BOOT::|mkDetailedGrepPattern| BOOT::|displayInfoOp|
- BOOT::|dbShowInfoOp| BOOT::|compReduce1| BOOT::|letPrint3|
- BOOT::|intloopSpadProcess| BOOT::|zagApp|
- BOOT::|findBalancingBrace| BOOT::|appelse| BOOT::|appChar|
- BOOT::|appInfix| BOOT::|htMakeButtonSaturn|
- BOOT::|vconcatapp| BOOT::|superSubApp| BOOT::|xLate|
- BOOT::|appconc| BOOT::MAKELIB BOOT::|appparu|
- BOOT::|charySemiColon| BOOT::|charyElse|
- BOOT::|charyEquatnum| BOOT::|bcFindString|
- BOOT::|charySplit| BOOT::|charyMinus| VMLISP::DCQGENEXP
- BOOT::|augProplistOf| BOOT::|putHist|
- BOOT::|evalUntargetedADEF| BOOT::|evalTargetedADEF|
- BOOT::|mergeInPlace| BOOT::|upLoopIterSTEP|
- BOOT::|mergeSort| BOOT::|interpLoop| BOOT::|collectStream|
- BOOT::|collectStream1| BOOT::|lazyMatch|
- BOOT::|lazyMatchArgDollarCheck|
- BOOT::|interpCOLLECTbodyIter| BOOT::|lookupInCompactTable|
- BOOT::|sayLooking| BOOT::|upStreamIterSTEP|
- BOOT::|lookupIncomplete| BOOT::|newLookupInAddChain|
- BOOT::|hashNewLookupInCategories| BOOT::|lookupComplete|
- BOOT::|newLookupInCategories1| BOOT::|lazyMatchAssocV|
- BOOT::|collectSeveralStreams| BOOT::|mkIterZippedFun|
- BOOT::|compareSigEqual| BOOT::|mkInterpTargetedADEF|
- BOOT::|compileTargetedADEF| BOOT::|collectOneStream|
- BOOT::|oldCompLookupNoDefaults| BOOT::|evalTuple|
- BOOT::|interpIF| BOOT::|getReduceFunction|
- BOOT::|NRTgetMinivectorIndex| BOOT::|xlPrematureFin|
- BOOT::|xlPrematureEOF| BOOT::|xlCmdBug| BOOT::|xlIfBug|
- BOOT::|xlSkippingFin| BOOT::|xlConsole| BOOT::|xlOK|
- BOOT::|xlSkip| BOOT::|lookupInDomainVector|
- BOOT::|basicLookupCheckDefaults| BOOT::|basicLookup|
- BOOT::|oldCompLookup| BOOT::|analyzeUndeclaredMap|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T) T) BOOT::|compDefineLisplib|
- BOOT::|compConLib1| BOOT::|addModemap| BOOT::|mmCost|
- BOOT::|findFunctionInDomain1| BOOT::/WRITEUPDATE
- BOOT::|mmCost0| BOOT::|/D,2,LIB|
- BOOT::|processFunctorOrPackage| BOOT::|compOrCroak1,fn|
- BOOT::/D-2 BOOT::|BesselIBackRecur| BOOT::|invokeFortran|
- BOOT::|nagCall| BOOT::|makeFort| BOOT::|addModemapKnown|
- BOOT::|addModemap1| BOOT::|addEltModemap| BOOT::|compHash|
- BOOT::|compHashGlobal| BOOT::|compApply| BOOT::|kdPageInfo|
- BOOT::|addModemap0| BOOT::|bracketagglist|
- BOOT::|attributeLookupExport| BOOT::|upDollarTuple|
- BOOT::|xlIfSyntax| BOOT::|incLine1|
- BOOT::|oldAxiomCategoryLookupExport| BOOT::|genMapCode|
- BOOT::|putMapCode|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T *) T) BOOT::|pfLeaf| BOOT::BPITRACE
- VMLISP:|remove| VMLISP:RREAD VMLISP:REMOVEQ
- BOOT::MATCH-LISP-TAG VMLISP:NREMOVE VMLISP:NREMOVEQ
- BOOT::|tokConstruct| BOOT::|pfAdd|
- BOOT:|ByteFileReadLineIntoString| BOOT:MATCH-TOKEN))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T *) T) BOOT::|ncHardError|
- BOOT::TOKEN-INSTALL BOOT::|ncSoftError| BOOT::|lnCreate|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T) T) BOOT::|findFunctionInCategory|
- BOOT::|Mp2MpAux1| BOOT::|Mp2MpAux0| BOOT::|Expr2Dmp1|
- BOOT::|Mp2SimilarDmp| BOOT::|bigopAppAux|
- BOOT::|findFunctionInDomain| BOOT::|abbreviationError|
- BOOT::|lisplibError| BOOT::|invokeNagman|
- BOOT::|mkNewModemapList| BOOT::|mkDiffAssoc|
- BOOT::|dbGatherThenShow| BOOT::|appInfixArg|
- BOOT::|lazyOldAxiomDomainLookupExport|
- BOOT::|oldAxiomDomainLookupExport|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T T T) T)
- BOOT::|displayDomainOp|))
-(PROCLAIM '(FTYPE (FUNCTION (T T T T *) T) VMLISP:RPLACSTR))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T T) T) BOOT::|P2DmpAux|
- BOOT::|makeSpadFun|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T) T) BOOT::|compDefineCategory2|
- BOOT::|P2MpAux| BOOT::|makeFort1|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T T T T T T T) T) BOOT::|writeCFile|
- BOOT::|Mp2MpAux2|))
-(PROCLAIM '(FTYPE (FUNCTION (T T T T T *) T) BOOT::|msgCreate|))
-(PROCLAIM
- '(FTYPE (FUNCTION NIL *) BOOT::|generateResultsName|
- BOOT::|generateDataName| BOOT::|htShowPage|
- BOOT::|PARSE-Label| BOOT::|bcMatrix| BOOT::|PARSE-Primary1|
- BOOT::|PARSE-Enclosure| BOOT::|bcDraw2DSolve|
- BOOT::|PARSE-Selector| BOOT::|PARSE-Category|
- BOOT::|PARSE-Option| BOOT::|PARSE-TokenOption|
- BOOT::|PARSE-Sexpr1| BOOT::|PARSE-Sexpr|
- BOOT::|PARSE-Scripts| BOOT::|PARSE-SpecialCommand|
- BOOT::|PARSE-FloatBasePart| BOOT::|PARSE-FloatBase|
- BOOT::|PARSE-Leave| BOOT::|e02aef| BOOT::|e04ucfCopOut|
- BOOT::|c02agf| BOOT::|c02aff| BOOT::|e02adf| BOOT::|c05pbf|
- VMLISP:RECLAIM BOOT::MKPROMPT BOOT::|sendHTErrorSignal|
- BOOT::|testPage| BOOT::|e01sef| BOOT::|e01saf|
- BOOT::|e01daf| BOOT::|e01bhf| BOOT::|e01bgf| BOOT::|e01bff|
- BOOT::|e01bef| BOOT::|e01baf| BOOT::|e02zaf| BOOT::|e02gaf|
- BOOT::|e02dff| BOOT::|e02def| BOOT::|e02ddf| BOOT::|e02dcf|
- BOOT::|e02daf| BOOT::|e02bef| BOOT::|e02bdf|
- BOOT::|minusInfinity| BOOT::|plusInfinity|
- BOOT::SERVER-SWITCH BOOT::CLEARDATABASE BOOT::NBOOT-LEXPR
- BOOT::BOOT-LEXPR BOOT::|executeQuietCommand|
- BOOT::|serverSwitch| BOOT::|scanS|
- BOOT::|sendNagmanErrorSignal| BOOT::|d01gbf| BOOT::|d01gaf|
- BOOT::|d01fcf| BOOT::|d01bbf| BOOT::|d01asf|
- BOOT::|d02rafCopOut| BOOT::|d02raf| BOOT::|d02kef|
- BOOT::|d02gbf| BOOT::|d02gaf| BOOT::|d02ejf| BOOT::|d02cjf|
- BOOT::|d02bhf| BOOT::|d02bbf| BOOT::|e02ahf|
- BOOT::|d03edfShort| BOOT::|d03edfLong| BOOT::|d03eefInput|
- BOOT::|d03faf| BOOT::|d03eef| BOOT::|d03edf|
- BOOT::|htSystemVariables| BOOT::|htSetVars|
- BOOT::|mkSetTitle| BOOT::|npCategory|
- BOOT::PARSE-CONS_SEXPR BOOT::PARSE-SEXPR
- BOOT::PARSE-REF_SEXPR BOOT::PARSE-EXPR2 BOOT::PARSE-EXPR1
- BOOT::|htsv| BOOT::|npDefinitionItem| BOOT::|npDefn|
- BOOT::|npMacro| BOOT::|npMDEFinition| BOOT::|npRule|
- BOOT::RESETHASHTABLES BOOT::READSPADEXPR
- BOOT::|batchExecute| BOOT::|c05nbf| BOOT::|c05adf|
- BOOT::|c06gsf| BOOT::|c06gqf| BOOT::|c06gcf| BOOT::|c06gbf|
- BOOT::|c06fuf| BOOT::|c06frf| BOOT::|c06fqf| BOOT::|c06fpf|
- BOOT::|c06ekf| BOOT::|c06ecf| BOOT::|c06ebf| BOOT::|c06eaf|
- BOOT::|s17def| BOOT::|s17dcf| BOOT::|s17akf| BOOT::|s17ajf|
- BOOT::|s17ahf| BOOT::|s17agf| BOOT::|s17aff| BOOT::|s17aef|
- BOOT::|s17adf| BOOT::|s17acf| BOOT::|s15aef| BOOT::|s15adf|
- BOOT::|s14baf| BOOT::|s14abf| BOOT::|s14aaf| BOOT::|s13adf|
- BOOT::|s13acf| BOOT::|s13aaf| BOOT::|s01eaf| BOOT::|s21bdf|
- BOOT::|s21bcf| BOOT::|s21bbf| BOOT::|s21baf| BOOT::|s20adf|
- BOOT::|e02agf| BOOT::|s20acf| BOOT::|d01aqf| BOOT::|s19adf|
- BOOT::|d01apf| BOOT::|s19acf| BOOT::|d01anf| BOOT::|d01amf|
- BOOT::|d01alf| BOOT::|s19abf| BOOT::|d01akf| BOOT::|s19aaf|
- BOOT::|d01ajf| BOOT::|s18def| BOOT::|s18dcf| BOOT::|s18aff|
- BOOT::|s18aef| BOOT::|s18adf| BOOT::|s18acf| BOOT::|f04qaf|
- BOOT::|f04mcf| BOOT::|f04mbf| BOOT::|f04maf| BOOT::|f04jgf|
- BOOT::|f04faf| BOOT::|f04axf| BOOT::|f04atf| BOOT::|f04asf|
- BOOT::|quit| BOOT::|f04arf| BOOT::|quitSpad2Cmd|
- BOOT::|f04adf| BOOT::|pquit| BOOT::|pquitSpad2Cmd|
- BOOT::CONTINUE BOOT::|continue| BOOT::|purgeLocalLibdb|
- BOOT::|dbSplitLibdb| BOOT::|f07fef| BOOT::|f07fdf|
- BOOT::|f07aef| BOOT::|f07adf| BOOT::|copyright|
- BOOT::|s17dlf| BOOT::|s17dhf| BOOT::|s17dgf| BOOT::|f02xef|
- BOOT::|f02wef| BOOT::|f02fjf| BOOT::|f02bjf| BOOT::|f02bbf|
- BOOT::|f02axf| BOOT::|f02awf| BOOT::|f02akf| BOOT::|f02ajf|
- BOOT::|f02agf| BOOT::|htShowPageNoScroll| BOOT::|f02aff|
- BOOT::|f02aef| BOOT::|f02adf| BOOT::|f02abf| BOOT::|f02aaf|
- BOOT::|measure| BOOT::|writeSaturnSuffix| BOOT::NEWRULE
- BOOT::PARSE-LOCAL_VAR BOOT::|htErrorStar|
- BOOT::|queryClients| BOOT::|onDisk| BOOT::|endHTPage|
- BOOT::|readSpadProfileIfThere| BOOT::|bcDraw3Dpar1|
- BOOT::|bcDraw3Dpar| BOOT::|htShowPageStarSaturn|
- BOOT::|htShowPageStar| BOOT::|bcDraw3Dfun|
- BOOT::|bcDraw2Dpar| BOOT::|bcSum| BOOT::|bcSeries|
- BOOT::|bcProduct| BOOT::|bcLimit|
- BOOT::|bcIndefiniteIntegrate| BOOT::|bcDraw|
- BOOT::|bcDifferentiate| BOOT::|bcDefiniteIntegrate|
- BOOT::|bcDraw2Dfun| BOOT::MAKE-TAGS-FILE BOOT::|bcSolve|
- BOOT::|npPrimary1| BOOT::|e02bcf| BOOT::|e02bbf|
- BOOT::|e02baf| BOOT::|e02akf| BOOT::|e02ajf| BOOT::|e04ycf|
- BOOT::|e04ucf| BOOT::|e04naf| BOOT::|e04mbf| BOOT::|e04jaf|
- BOOT::|e04gcf| BOOT::|e04fdf| BOOT::|e04dgf| BOOT::|f01ref|
- BOOT::|f01rdf| BOOT::|f01rcf| BOOT::|f01qef| BOOT::|f01qdf|
- BOOT::|f01qcf| BOOT::|f01mcf| BOOT::|f01maf| BOOT::|f01bsf|
- BOOT::|f01brf|))
-(PROCLAIM
- '(FTYPE (FUNCTION NIL T) BOOT::|getCodeVector|
- BOOT:PARSE-IDENTIFIER BOOT::|axDoLiterals|
- BOOT::|PARSE-Suffix| BOOT:CURRENT-TOKEN
- BOOT::|PARSE-TokTail| BOOT::|PARSE-InfixWith|
- BOOT::|PARSE-With| BOOT::|PARSE-Form|
- BOOT::|PARSE-Reduction| BOOT::|PARSE-SemiColon|
- BOOT::|PARSE-Iterator| BOOT::|PARSE-Primary|
- BOOT::|PARSE-ElseClause| BOOT::|PARSE-Conditional|
- BOOT::|PARSE-Name| BOOT::|PARSE-Sequence|
- BOOT::|PARSE-Data| BOOT::|PARSE-FormalParameter|
- BOOT::|PARSE-IntegerTok| BOOT::|PARSE-String|
- BOOT::|PARSE-Quad| BOOT::|PARSE-VarForm|
- BOOT::|PARSE-Qualification| BOOT::|PARSE-Prefix|
- BOOT::|PARSE-Infix| BOOT::|PARSE-Application|
- BOOT:CURRENT-SYMBOL BOOT::|clearCmdSortedCaches|
- BOOT::|PARSE-Statement| BOOT::|PARSE-Command|
- BOOT::|updateInCoreHist| BOOT::|processSynonyms|
- BOOT::|disableHist| BOOT::|PARSE-IteratorTail|
- BOOT::|histFileName| BOOT::|PARSE-OpenBrace|
- BOOT::|PARSE-Sequence1| BOOT::|PARSE-OpenBracket|
- BOOT::|PARSE-PrimaryNoFloat| BOOT:FAIL BOOT::|PARSE-Float|
- BOOT::|PARSE-PrimaryOrQM| BOOT::|PARSE-TokenList|
- BOOT::|PARSE-AnyId| BOOT::|resetInCoreHist|
- BOOT::|PARSE-TokenCommandTail| BOOT::|isTokenDelimiter|
- BOOT::|PARSE-ScriptItem| BOOT::|PARSE-CommandTail|
- BOOT::|historySpad2Cmd| BOOT::|PARSE-FormalParameterTok|
- BOOT::|PARSE-SpecialKeyWord|
- BOOT::|writeHistModesAndValues| BOOT::|PARSE-FloatTok|
- BOOT::|PARSE-FloatExponent| BOOT::|updateHist|
- BOOT::|initHistList| BOOT::|initHist| BOOT::|PARSE-Exit|
- BOOT::|oldHistFileName| BOOT:PARSE-NUMBER
- BOOT::|PARSE-Return| BOOT::|PARSE-ReductionOp|
- BOOT::|PARSE-LabelExpr| BOOT::|PARSE-Import|
- BOOT::|writeHiFi| BOOT::|PARSE-Loop|
- BOOT::|updateCurrentInterpreterFrame| BOOT::|PARSE-Seg|
- BOOT:CURINPUTLINE BOOT::|profileWrite| BOOT:PARSE-BSTRING
- BOOT:NEXT-TOKEN BOOT:IOSTAT BOOT::|isPackageFunction|
- BOOT:UNGET-TOKENS BOOT::|setOptKeyBlanks|
- BOOT::|getInfovecCode| BOOT::|NRTmakeSlot1Info|
- BOOT::|reportOnFunctorCompilation| BOOT:BUMPCOMPERRORCOUNT
- BOOT::|displayMissingFunctions| BOOT:PARSE-STRING
- BOOT:ADVANCE-TOKEN BOOT::ERRHUH BOOT:CURRENT-CHAR
- VMLISP:$TOTAL-ELAPSED-TIME BOOT::IS-GENSYM
- BOOT::|getSpecialCaseAssoc|
- BOOT::|makeConstructorsAutoLoad|
- BOOT::|displayExposedGroups|
- BOOT::|displayHiddenConstructors|
- BOOT::|displaySemanticErrors| BOOT::|clock|
- BOOT::|startTimer| BOOT::|spadPrompt| BOOT::|stopTimer|
- BOOT::|quadSch| BOOT::/TRACEREPLY BOOT::TRACELETREPLY
- BOOT::|voidValue| BOOT::/COMP BOOT::|getDateAndTime|
- BOOT::|coercionFailure| VMLISP:EMBEDDED
- BOOT::|printableArgModeSetList| BOOT::|asList|
- BOOT::|boot2LispError| BOOT::|extendConstructorDataTable|
- BOOT::|fin| BOOT::PARSERSTATE BOOT::|New,ENTRY,1|
- BOOT::|mkLowerCaseConTable| BOOT::NEW-LEXPR-INTERACTIVE
- BOOT::NEW-LEXPR BOOT::|spadThrow| BOOT::INITIALIZE
- BOOT::NEW BOOT::|New,ENTRY| BOOT::|traceComp|
- BOOT::|New,ENTRY1| BOOT::|New,ENTRY,SYS| BOOT::NEWPO
- BOOT::|returnToReader| BOOT::|returnToTopLevel| BOOT::TOP
- BOOT::|serverLoop| BOOT::|describeSetOutputTex|
- BOOT::|describeSetOutputFortran|
- BOOT::|describeSetLinkerArgs|
- BOOT::|describeProtectSymbols|
- BOOT::|describeOutputLibraryArgs|
- BOOT::|describeSetFortDir| BOOT::|describeFortPersistence|
- BOOT::|describeSetFortTmpDir|
- BOOT::|describeProtectedSymbolsWarning|
- BOOT::|describeSetStreamsCalculate|
- BOOT::|describeSetOutputFormula|
- BOOT::|describeInputLibraryArgs|
- BOOT::|resetWorkspaceVariables| BOOT::|describeSetNagHost|
- BOOT::|describeAsharpArgs| BOOT::|describeSetOutputAlgebra|
- BOOT::|sayAllCacheCounts| BOOT::|describeSetFunctionsCache|
- BOOT::|nangenericcomplex| BOOT::|createTypeEquivRules|
- BOOT::|createResolveTTRules| BOOT::|createResolveTMRules|
- BOOT::|bcBlankLine| BOOT::|browserAutoloadOnceTrigger|
- BOOT::|scanKeyTableCons| BOOT::|scanToken| BOOT::|scanEsc|
- BOOT::|scanError| BOOT::|scanEscape| BOOT::|scanNumber|
- BOOT::|asharpConstructors| BOOT::|scanString|
- BOOT::|scanSpace| BOOT::|scanPunct| BOOT::|scanNegComment|
- BOOT::|startsNegComment?| BOOT::|scanComment|
- BOOT::|startsComment?| BOOT::|scanPunCons|
- BOOT::|scanDictCons| BOOT::|resetStackLimits|
- BOOT::|npRecoverTrap| BOOT::|syGeneralErrorHere|
- BOOT::|DPname| BOOT::|pfNoPosition| VMLISP:CURRENTTIME
- BOOT::|buildHtMacroTable| BOOT::|checkWarningIndentation|
- BOOT::|npDecl| BOOT::|npType| VMLISP:$SCREENSIZE
- BOOT::|npAmpersand| BOOT::|npName| BOOT::|npFromdom|
- BOOT::|npSCategory| BOOT::|npPrimary| BOOT::|npState|
- BOOT::|npDefaultValue| BOOT::|npAssignVariableName|
- BOOT::|npPDefinition| BOOT::|npDollar|
- BOOT::|npSQualTypelist| BOOT::PARSE-NON_DEST_REF
- BOOT::PARSE-OPT_EXPR BOOT::PARSE-REPEATOR
- BOOT::|npCategoryL| BOOT::PARSE-SEXPR_STRING
- BOOT::|npProduct| BOOT::PARSE-TEST BOOT::|npIterators|
- BOOT::PARSE-EXPR BOOT::|npWhile|
- BOOT::|displayPreCompilationErrors| BOOT::PARSE-N_TEST
- BOOT::|npForIn| BOOT::PARSE-REP_TEST BOOT::|npGives|
- BOOT::PARSE-FIL_TEST BOOT::|npLogical| BOOT::PARSE-SUBEXPR
- BOOT::|npExpress| BOOT::PARSE-FID BOOT::PARSE-RULE
- BOOT::|npExpress1| BOOT::PARSE-HEADER
- BOOT::|npCommaBackSet| BOOT::PARSE-RULE1 BOOT::|npQualType|
- VMLISP:$TOTAL-GC-TIME BOOT::|npADD|
- BOOT::|npConditionalStatement|
- BOOT::|npQualifiedDefinition| BOOT::|npPushId|
- BOOT::|npVariable| BOOT::|npDefinitionOrStatement|
- BOOT::|npAssignVariable| BOOT::|npColon|
- BOOT::|npAssignment| BOOT::|profileDisplay|
- BOOT:|TimeStampString| BOOT::|computeDomainVariableAlist|
- BOOT::MONITOR-READINTERP BOOT::|npSingleRule|
- BOOT::MONITOR-UNTESTED BOOT::|npDefTail| BOOT::|npQuiver|
- BOOT::MONITOR-PERCENT BOOT::|npDef| BOOT::|npStatement|
- BOOT::|npImport| BOOT::|npTyping| BOOT::|npItem|
- BOOT::|npQualDef| BOOT::|npAssign| BOOT::MONITOR-AUTOLOAD
- BOOT::|npDefinition| BOOT::MONITOR-RESULTS
- BOOT::MONITOR-END BOOT::|npPop3| BOOT::MONITOR-INITTABLE
- BOOT::|npAtom2| BOOT::|npInfixOperator| BOOT::|npPower|
- BOOT::MONITOR-HELP BOOT::|npMatch| BOOT::MONITOR-REPORT
- BOOT::|npMdef| BOOT::|reportInstantiations|
- BOOT::|npPrimary2| BOOT::?DOMAINS BOOT::|?domains|
- BOOT::|npSuch| BOOT::|npMDEF| BOOT::|npDisjand|
- BOOT::|npInfixOp| BOOT::|npDiscrim|
- BOOT::|clearConstructorAndLisplibCaches|
- BOOT::|npVariableName| BOOT::|clearConstructorCaches|
- BOOT::|clearClams| BOOT::|clearCategoryCaches|
- BOOT::|cacheStats| BOOT::|reportAndClearClams|
- BOOT::|traceDown| BOOT::|statRecordInstantiationEvent|
- BOOT::|tc| BOOT::GET-CURRENT-DIRECTORY
- BOOT::|removeAllClams| BOOT::|clamStats| BOOT::|npPop1|
- BOOT::|npTrap| BOOT::|npApplication| BOOT::|npPop2|
- BOOT::|npApplication2| BOOT::WRITE-WARMDATA
- BOOT::WRITE-INTERPDB BOOT::|npAssignVariablelist|
- BOOT::|clearHashReferenceCounts| BOOT::|npSignature|
- BOOT::|pfNothing| BOOT::|npSigItemlist| BOOT::|npEncl|
- BOOT::|npBDefinition| BOOT::|npPrefixColon| BOOT::|npNext|
- BOOT::|allOperations| BOOT::WRITE-CATEGORYDB
- BOOT::WRITE-OPERATIONDB BOOT::WRITE-BROWSEDB
- BOOT::WRITE-COMPRESS BOOT::INITIAL-GETDATABASE
- BOOT::CATEGORYOPEN BOOT::BROWSEOPEN BOOT::OPERATIONOPEN
- BOOT::INTERPOPEN BOOT::COMPRESSOPEN
- BOOT::CREATE-INITIALIZERS BOOT::|poNoPosition|
- BOOT::|saveDependentsHashTable| BOOT::|saveUsersHashTable|
- BOOT::|mkTopicHashTable| BOOT::TOKEN-STACK-SHOW
- BOOT::|system| BOOT::|terminateSystemCommand|
- BOOT::|getSystemCommandLine| BOOT::TERMCHR
- BOOT::IOSTREAMS-SHOW BOOT::|displayExposedConstructors|
- BOOT::|finalizeDocumentation| BOOT::REDUCE-STACK-SHOW
- BOOT::CLEAR-HIGHLIGHT BOOT::RESET-HIGHLIGHT BOOT::RESTART0
- START BOOT::|libraryFileLists| BOOT::|waitForViewport|
- BOOT::|setViewportProcess|
- BOOT::|installStandardTestPackages| BOOT::|printCopyright|
- BOOT::AKCL-VERSION BOOT::SET-RESTART-HOOK
- BOOT::|undoINITIALIZE| BOOT::|simpCategoryTable|
- BOOT::|simpTempCategoryTable| BOOT::COMPFIN
- BOOT::INPUT-CLEAR BOOT::|genTempCategoryTable| BOOT::|cc|
- BOOT::|initNewWorld| BOOT::|genCategoryTable|
- BOOT::|dbOpsExposureMessage| BOOT::|htSayUnexposed|
- BOOT::|NRTmakeCategoryAlist|
- BOOT::|NRTgenFinalAttributeAlist| BOOT::|dcSizeAll|
- BOOT::|initialiseIntrinsicList| BOOT::|tempLen|
- BOOT::|changeDirectoryInSlot1| BOOT::|NRTaddDeltaCode|
- BOOT::|ncIntLoop| BOOT::SPECIALCASESYNTAX
- BOOT::|newFortranTempVar| BOOT::|currentSP|
- BOOT::|elapsedTime| BOOT::|traceUp|
- BOOT::|getIntrinsicList| BOOT::|getInterpMacroNames|
- BOOT::|synonymSpad2Cmd| BOOT::|interpFunctionDepAlists|
- BOOT::NPPPG BOOT::|isFalse| BOOT::NPPPF BOOT::NPPPFF
- BOOT::|printDashedLine| BOOT::|satBreak| BOOT::|up|
- BOOT::|getWorkspaceNames| BOOT::|getParserMacroNames|
- BOOT::|oldCompilerAutoloadOnceTrigger| BOOT::|TrimCF|
- BOOT::|displayWorkspaceNames| BOOT::UP
- BOOT::|displayWarnings| BOOT::|buildGloss|
- BOOT::|nextInterpreterFrame| BOOT::|down|
- BOOT::|displayFrameNames| BOOT::DOWN
- BOOT::|previousInterpreterFrame| BOOT::SAME BOOT::|same|
- BOOT::|mkUsersHashTable| BOOT::|allConstructors|
- BOOT::|frameNames| BOOT::|sayShowWarning| BOOT::|credits|
- BOOT::|mkDependentsHashTable|
- BOOT::|buildDefaultPackageNamesHT|
- BOOT::|dbAugmentConstructorDataTable| FOAM:|fiGetDebugVar|
- BOOT::|menuButton| BOOT::|htSaturnBreak| BOOT::|random|
- BOOT::|dbConsExposureMessage| BOOT::|mkSigPredVectors|
- BOOT::FIRST-ERROR BOOT::|writeSaturnPrefix| BOOT::|on|
- BOOT::|offDisk| BOOT::|htBigSkip| BOOT::PARSE-PROGRAM
- BOOT::IN-META BOOT::|traceReply| BOOT::|?t|
- BOOT::SKIP-BLANKS BOOT::|pspacers| BOOT::NEXT-LINES-SHOW
- BOOT::|resetCounters| BOOT::PARSE-DEST_REF
- BOOT::SPAD_SHORT_ERROR BOOT::|pcounters|
- BOOT::SPAD_LONG_ERROR BOOT::INIT-BOOT/SPAD-READER
- BOOT::NEXT-LINES-CLEAR BOOT::|resetTimers|
- BOOT::|resetSpacers| BOOT::|ptimers|
- BOOT::|PARSE-Expression|
- BOOT::|oldParserAutoloadOnceTrigger| BOOT::|boot-LEXPR|
- BOOT::|reportCount| BOOT::NEW-LEXPR1 BOOT::|spadReply|
- BOOT::|listConstructorAbbreviations| BOOT::BOOT-SKIP-BLANKS
- BOOT::|updateFromCurrentInterpreterFrame|
- BOOT::PARSE-ARGUMENT-DESIGNATOR BOOT::PARSE-KEYWORD
- BOOT::PARSE-SPADSTRING
- BOOT::|initializeInterpreterFrameRing| BOOT::READ-SPAD-1
- BOOT::READBOOT BOOT::|reportWhatOptions|
- BOOT::TERSYSCOMMAND BOOT::|PARSE-NewExpr|
- BOOT::|makeInitialModemapFrame|
- BOOT::|createCurrentInterpreterFrame|
- BOOT::|getParserMacros| BOOT::|clearCmdCompletely|
- BOOT::|clearCmdAll| BOOT::|clearMacroTable|
- BOOT::|initializeSystemCommands| BOOT::|htSayHrule|
- BOOT::|htEndTable| BOOT::|mkMenuButton| BOOT::|runspad|
- BOOT::|htBeginTable| BOOT::|ncTopLevel|
- BOOT::|spadStartUpMsgs| BOOT::|initializeRuleSets|
- BOOT::|loadExposureGroupData|
- BOOT::|statisticsInitialization| BOOT::|ut|
- BOOT::|printStatisticsSummary| BOOT::|printStorage|
- BOOT::|prTraceNames| BOOT::|spad| BOOT::|spadpo|
- BOOT::|intloop| BOOT::|off| BOOT::|htEndTabular|
- BOOT::|htSaySaturnAmpersand| BOOT::|page|
- BOOT::|clearFrame| BOOT::|getSaturnExampleList|
- BOOT::|saturnTERPRI| BOOT::|bcSadFaces| BOOT::YEARWEEK
- BOOT::|npBPileDefinition| BOOT::|npTypified|
- BOOT::|npVariablelist| BOOT::|npTagged| BOOT::|bcvspace|
- BOOT::|npTypeStyle| BOOT::|npColonQuery| BOOT::|npPretend|
- BOOT::|npRestrict| BOOT::|npCoerceTo| BOOT::|npRelation|
- BOOT::|npFirstTok| BOOT::|npVoid| BOOT::|npSLocalItem|
- BOOT::NPPCG BOOT::|npLocalItemlist| BOOT::|npFix|
- BOOT::NPPCFF BOOT::|npDefaultItemlist| BOOT::|npSynthetic|
- BOOT::|npAmpersandFrom| BOOT::|npBy| BOOT::|npLet|
- BOOT::|npTypeVariable| BOOT::|npSignatureDefinee|
- BOOT::|npAtom1| BOOT::|npConstTok| BOOT::|npLocalItem|
- BOOT::|npLocalDecl| BOOT::|npExport| BOOT::|npLocal|
- BOOT::|npInline| BOOT::|npFree| BOOT::|npInterval|
- BOOT::|npSegment| BOOT::|npArith| BOOT::|npBreak|
- BOOT::|npDefaultItem| BOOT::|npDefaultDecl|
- BOOT::|npReturn| BOOT::|npSemiBackSet|
- BOOT::|npSDefaultItem| BOOT::|npTypeVariablelist|
- BOOT::|npPileDefinitionlist| BOOT::|npDefinitionlist|
- BOOT::|npComma| BOOT::|npSymbolVariable| BOOT::|npId|
- BOOT::|npSum| BOOT::|npTerm| BOOT::|npRemainder|
- BOOT::|npIterate| BOOT::|npLoop| BOOT::|npSuchThat|
- BOOT::|npSelector| BOOT::|npIterator| BOOT::|npSigItem|
- BOOT::|npSigDecl| BOOT::|statRecordLoadEvent|
- BOOT::|computeElapsedTime| BOOT::|npLambda|
- BOOT::|computeElapsedSpace| BOOT::|popTimedName|
- BOOT::|npBacksetElse| BOOT::|peekTimedName|
- BOOT::|npQualTypelist| BOOT::|npPileExit| BOOT::|npExit|
- BOOT::|statisticsSummary| BOOT::|displayHeapStatsIfWanted|
- BOOT::|update| BOOT:RESTART BOOT:|version| BOOT:/EMBEDREPLY
- BOOT:NEXTINPUTLINE BOOT:|Category| BOOT::|intUnsetQuiet|
- BOOT::|intSetQuiet| BOOT:POP-REDUCTION
- BOOT::|intSetNeedToSignalSessionManager|
- BOOT::|intNewFloat| BOOT::|leaveScratchpad| BOOT::|ncError|
- BOOT::|incConsoleInput| BOOT:NEXT-CHAR
- BOOT::|inclmsgCmdBug| BOOT::|inclmsgIfBug|
- BOOT::|inclmsgFinSkipped| BOOT::|inclmsgConsole|
- COMPILER::GAZONK-NAME HELP BOOT:ADVANCE-CHAR
- BOOT::|rbrkSch| BOOT::|lbrkSch|))
-(PROCLAIM
- '(FTYPE (FUNCTION (*) *) BOOT::|makeSpadCommand| BOOT::/RF
- BOOT::|/RQ,LIB| VMLISP:$ERASE BOOT::|mkGrepPattern1|
- BOOT::|nothingFoundPage| BOOT::|dbNotAvailablePage|
- BOOT::|htSetCache| BOOT::NEXT-LINE BOOT::/EF
- BOOT::INIT-MEMORY-CONFIG BOOT::/RQ BOOT::|newGoGet|
- BOOT::|goGet| BOOT::|dbShowOps| BOOT::|oPage| BOOT::|aPage|
- BOOT::|buildLibdb| BOOT::|emptySearchPage|
- BOOT::|conOpPage1| BOOT::|conPage| BOOT::|kPage|
- BOOT::|genSearch| BOOT::|dbShowCons| BOOT::|form2HtString|
- BOOT::|bcFinish| BOOT::|Undef| BOOT:META-SYNTAX-ERROR))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) *) BOOT::|numArgs|
- BOOT::|formatSignatureArgs0| BOOT::|formatSignatureArgs|
- BOOT::|sayWidth| BOOT::SRCABBREVS BOOT::|bcMatrixGen|
- BOOT::|bcwords2liststring| BOOT::|bcGenExplicitMatrix|
- BOOT::|bcGen| BOOT::|bcInputMatrixByFormulaGen|
- BOOT::|bcReadMatrix| BOOT::|systemCommand|
- BOOT::|safeWritify| BOOT::|unAbbreviateKeyword|
- BOOT::|replacePercentByDollar| BOOT::|e04ucfSolve|
- BOOT::|brightPrint0AsTeX| BOOT::|sayDisplayStringWidth|
- BOOT:GET-TOKEN BOOT::|initializeLisplib| BOOT::|getMsgTag|
- BOOT::|poFileName| BOOT::|mac0InfiniteExpansion,name|
- BOOT::|NRTtypeHack| BOOT::|getMsgPos2| BOOT::|e02agfSolve|
- BOOT::|c02agfGen| BOOT:NUMOFARGS BOOT::|c02affSolve|
- BOOT::|c02affGen| BOOT::|c02agfSolve| BOOT::|c05adfGen|
- BOOT::|outputTran| BOOT::|replaceSharpCalls|
- BOOT::/UNTRACE-0 BOOT::|doReplaceSharpCalls| BOOT::DEFTRAN
- BOOT::LIST2STRING BOOT::DEF-WHERECLAUSELIST BOOT::DEF-ISNT
- BOOT::|quoteSuper| BOOT::|quoteSub| BOOT::MK_LEFORM
- BOOT::MK_LEFORM-CONS BOOT::|aggSuper|
- BOOT::|oldParseString| BOOT::|outformWidth| BOOT::|aggSub|
- BOOT::|agggwidth| BOOT::|agggsuper| BOOT::|agggsub|
- BOOT::|obj2String| BOOT::|compileFileQuietly|
- BOOT::|exptSub| BOOT::|mathPrint| BOOT::|rootSub|
- BOOT::|parseTransform| BOOT::|overbarWidth|
- BOOT::MONITOR-EVALAFTER BOOT::|overlabelWidth|
- BOOT::|object2String| BOOT::|e02aefGen| BOOT::/TRACE-0
- BOOT::LENGTH2STR BOOT::|matSub| BOOT::/MKINFILENAM
- BOOT::|qTSuper| BOOT::|qTSub| BOOT::|sayMSGNT|
- VMLISP:BPINAME BOOT::|e01safSolve| BOOT::|e01befSolve|
- BOOT::|linkToHTPage| BOOT::|killHTPage|
- BOOT::|startReplaceHTPage| BOOT::|e01dafSolve|
- BOOT::|startHTPopUpPage| BOOT::|e01bffSolve|
- BOOT::|e01bafGen| BOOT::|e01sefGen| BOOT::|e01bhfGen|
- BOOT::|e01bhfSolve| BOOT::|e01dafGen| BOOT::|e01bgfGen|
- BOOT::|e01befGen| BOOT::|e02dcfColdGen| BOOT::|e02bafGen|
- BOOT::|e02agfGen| BOOT::|e02befColdGen| BOOT::|e02ajfSolve|
- BOOT::|e02ddfColdGen| BOOT::|numMapArgs|
- BOOT::|e02befSolve| BOOT::|e02dcfSolve|
- BOOT::|e02ddfWarmGen| BOOT::|e02adfSolve|
- BOOT::|e02aefSolve| BOOT::|e02ddfSolve| BOOT::|e02bafSolve|
- BOOT::|e02bcfSolve| BOOT::|e02ahfGen| BOOT::|e02gafSolve|
- BOOT::|e02bbfGen| BOOT::|e02adfGen| BOOT::|e02defGen|
- BOOT::|e02ahfSolve| BOOT::|e02bdfGen| BOOT::|e02akfGen|
- BOOT::|e02dafGen| BOOT::|e02bdfSolve| BOOT::|e02dffGen|
- BOOT::|e02akfSolve| BOOT::|asyJoinPart| BOOT::|printLine|
- BOOT::|sockSendWakeup| BOOT::|sockGetFloat|
- BOOT::PRINT-LINE BOOT::SOCK-SEND-WAKEUP
- BOOT::SOCK-GET-FLOAT BOOT::|/tb| BOOT::|/ry| BOOT::|/rx|
- BOOT::|/cxd| BOOT::/FOOBAR BOOT::/CX BOOT::NEWNAMTRANS
- BOOT::|htMakeInputList| BOOT::SPAD-MODETRAN
- BOOT::|popSatOutput| BOOT::|subrname| BOOT::SOCK-GET-INT
- BOOT::OPEN-SERVER BOOT::|protectedEVAL|
- BOOT::|setOutputTex| BOOT::|setOutputFortran| BOOT::|set|
- BOOT::|setLinkerArgs| BOOT::|protectSymbols|
- BOOT::|protectedSymbolsWarning| BOOT::|setStreamsCalculate|
- BOOT::|setOutputFormula| BOOT::|setNagHost|
- BOOT::|setFunctionsCache| BOOT::|spadType| BOOT::|spadSys|
- BOOT::|mkGrepFile| BOOT::|mkGrepPattern1,addOptions|
- BOOT::|mkGrepPattern1,remUnderscores|
- BOOT::|mkUpDownPattern| BOOT::|mkUpDownPattern,fixchar|
- BOOT::|cSearch| BOOT::|verbatimize|
- BOOT::|pmParseFromString,flatten|
- BOOT::|htCommandToInputLine| BOOT::|detailedSearch|
- BOOT::|docSearch| BOOT::|form2HtString,fnTailTail|
- BOOT::|form2HtString,fn| BOOT::|sexpr2HtString|
- BOOT::|kInvalidTypePage| BOOT::|args2LispString,fnTailTail|
- BOOT::|sexpr2LispString,fn| BOOT::|args2LispString|
- BOOT::|sexpr2LispString| BOOT::|sexpr2HtString,fn|
- BOOT::|spleI| BOOT::|dbComments| BOOT::|sockGetInt|
- BOOT::|parseAndEvalStr| BOOT::|parseAndEvalStr1|
- BOOT::|d01gafSolve| BOOT::|d01apfGen| BOOT::|d01fcfSolve|
- BOOT::|d01asfGen| BOOT::|d02bbfSolve| BOOT::|d02rafGen|
- BOOT::|d02kefGen| BOOT::|d02kefSolve| BOOT::|d02ejfGen|
- BOOT::|d02gbfSolve| BOOT::|d02bbfGen| BOOT::|d02bhfGen|
- BOOT::|d02rafSolve| BOOT::|d02ejfSolve| BOOT::|d02bhfSolve|
- BOOT::|d02gafGen| BOOT::|d02gbfGen| BOOT::|d02gafSolve|
- BOOT::|d02cjfGen| BOOT::|d02cjfSolve| BOOT::|d03edfControl|
- BOOT::|d03edfSolve| BOOT::|d03eefSolve|
- BOOT::|d03edfLongGen| BOOT::|d03eefGen|
- BOOT::|d03edfShortGen| BOOT::|e01sefSolve|
- BOOT::|lnFileName| BOOT::|e01bgfSolve| BOOT::|e01safGen|
- BOOT::|e01bffGen| BOOT::|e01bafSolve|
- BOOT::|pfGlobalLinePosn| BOOT::|quoteString|
- BOOT::|postTran| BOOT::|decodeScripts| BOOT::|htGloss|
- BOOT::|htTutorialSearch| BOOT::|postInSeq|
- BOOT::|htTextSearch| BOOT::|htGreekSearch|
- BOOT::|postMakeCons| BOOT::|postCategory,fn|
- BOOT::|htShowFunctionPageContinued| BOOT::|htCacheSet|
- BOOT::|htSetFunCommand| BOOT::|listOfStrings2String|
- BOOT::|htCacheOne| BOOT::|htShowSetTree|
- BOOT::|htShowSetTreeValue| BOOT::|postBigFloat|
- BOOT::|htSetInteger| BOOT::|chkRange| BOOT::|postConstruct|
- BOOT::|postSlash| BOOT::|htCacheAddChoice|
- BOOT::|startHTPage| BOOT::|htSetLinkerArgs|
- BOOT::|htSetOutputCharacters| BOOT::|htSetKernelWarn|
- BOOT::|htSetKernelProtect| BOOT::|htSetExpose|
- BOOT::|htSetInputLibrary| BOOT::|htSetOutputLibrary|
- BOOT::|htSetHistory| SPAD-SAVE BOOT:|OsEnvGet|
- BOOT:|LispCompile| BOOT:|LispCompileFile|
- BOOT::|condErrorMsg| BOOT:|LispLoadFile|
- BOOT:|LispLoadFileQuietly| BOOT::MONITOR-RESTORE
- BOOT::|brightPrintCenterAsTeX| BOOT::|brightPrint0|
- BOOT::|sayWidth,fn| BOOT::|brightPrintCenter|
- BOOT::|clearClam| BOOT::|brightPrintHighlightAsTeX|
- BOOT::|brightPrintHighlight| BOOT::|sayDisplayWidth,fn|
- BOOT::|sayDisplayWidth| BOOT::INIT-LIB-FILE-GETTER
- BOOT::INIT-FILE-GETTER BOOT::|entryWidth| BOOT::FILE-RUNNER
- BOOT::|editFile| BOOT::|readForDoc| BOOT::|checkNumOfArgs|
- BOOT::|openServer| BOOT::|removeBackslashes|
- BOOT::|checkAddBackSlashes| BOOT::/RF-1 BOOT::|docreport|
- BOOT::|ExecuteInterpSystemCommand| BOOT::|pfFileName|
- BOOT::|InterpExecuteSpadSystemCommand| BOOT::|alistSize|
- BOOT::|parseTranList| BOOT::|parseOr| BOOT::|parseIf|
- BOOT::|parseImplies| BOOT::|parseEquivalence|
- BOOT::|parseLhs| BOOT::|parseAnd| BOOT::|parseLeftArrow|
- BOOT::|parseUpArrow| BOOT::|parseNotEqual| BOOT::|parseNot|
- BOOT::|parseDollarNotEqual| BOOT::|parseDollarGreaterEqual|
- BOOT::|parseDollarLessEqual| BOOT::|parseGreaterEqual|
- BOOT::|parseLessEqual| BOOT::|scriptTranRow1|
- BOOT::|scriptTran| BOOT::|scriptTranRow|
- BOOT::|parseExclusiveOr| BOOT::QUOTE-IF-STRING
- BOOT::|dbConformGenUnder| BOOT::|listOfEntries|
- BOOT::|conformString| BOOT::|dbConformGen|
- BOOT::|evalableConstructor2HtString| BOOT::|halfWordSize|
- BOOT::|fortFormatCharacterTypes,mkCharName|
- BOOT::|opPageFast|
- BOOT::|fortFormatCharacterTypes,par2string| VMLISP::MAKEDIR
- VMLISP::DELETE-DIRECTORY VMLISP::GET-IO-INDEX-STREAM
- VMLISP::GET-INPUT-INDEX-STREAM VMLISP::DIRECTORY?
- BOOT::|c05pbfGen| BOOT::|c05nbfGen| BOOT::|c05pbfSolve|
- BOOT::|c05nbfSolve| BOOT::|e02dafSolve| BOOT::|c06ebfGen|
- BOOT::|c06ebfSolve| BOOT::|c06gsfGen| BOOT::|c06gsfSolve|
- BOOT::|c06ekfSolve| BOOT::|c06eafSolve| BOOT::|c06gqfGen|
- BOOT::|c06ecfGen| BOOT::|c06fpfGen| BOOT::|c06frfSolve|
- BOOT::|c06gbfSolve| BOOT::|c06fqfGen| BOOT::|c06gqfSolve|
- BOOT::|c06eafGen| BOOT::|c06gcfGen| BOOT::|c06gcfSolve|
- BOOT::|c06gbfGen| BOOT::|c06fufGen| BOOT::|s01eafGen|
- BOOT::|s21bafGen| BOOT::|c06fpfSolve| BOOT::|s17dcfGen|
- BOOT::|c06fqfSolve| BOOT::|s18defGen| BOOT::|c06frfGen|
- BOOT::|s14bafGen| BOOT::|s18dcfGen| BOOT::|s17dhfGen|
- BOOT::|c06ecfSolve| BOOT::|s21bdfGen| BOOT::|c06fufSolve|
- BOOT::|c06ekfGen| BOOT::|s21bcfGen| BOOT::|sGen|
- BOOT::|s17dgfGen| BOOT::|d01anfGen| BOOT::|d01ajfGen|
- BOOT::|d01aqfGen| BOOT::|d01gafGen| BOOT::|d01bbfGen|
- BOOT::|s21bbfGen| BOOT::|d01amfGen| BOOT::|s17dlfGen|
- BOOT::|d01alfGen| BOOT::|d01fcfGen| BOOT::|d01akfGen|
- BOOT::|d01gbfGen| BOOT::|d01gbfSolve| VMLISP::|npPC|
- VMLISP::|npPP| BOOT::|exp2FortOptimizeArray|
- BOOT::|fortError1| BOOT::|fortPre1| BOOT::|spadcall1|
- BOOT::|fortPreRoot| BOOT::|checkPrecision|
- BOOT::|fix2FortranFloat| BOOT::|normalizeStatAndStringify|
- BOOT::|mkParameterList,par2string| BOOT::|f02wefSolve|
- BOOT::|f02ajfGen| BOOT::|printAny| BOOT::|f02adfGen|
- BOOT::|e02dffSolve| BOOT::|printString| BOOT::|f04jgfGen|
- BOOT::|f04qafGen| BOOT::|f04asfGen| BOOT::|summary|
- BOOT::|show| BOOT::|showSpad2Cmd| BOOT::|f04qafSolve|
- BOOT::|f04mbfGen| BOOT::|f04fafGen| BOOT::|f04arfGen|
- BOOT::|f04adfSolve| BOOT::|fixObjectForPrinting|
- BOOT::|savesystem| BOOT::|escapeSpecialChars|
- BOOT::|f04mcfSolve| BOOT::|encodeItem| BOOT::|f04atfGen|
- BOOT::|form2LispString| BOOT::|f04adfGen|
- BOOT::|concatWithBlanks| BOOT::|withAsharpCmd|
- BOOT::|f04jgfSolve| BOOT::|extendLocalLibdb|
- BOOT::|deleteFile| BOOT::|compileAsharpCmd1|
- BOOT::|f04mcfGen| BOOT::|f04arfSolve| BOOT::|frame|
- BOOT::|frameSpad2Cmd| BOOT::|addNewInterpreterFrame|
- BOOT::|getEnv| BOOT::|f04asfSolve| BOOT::|f04fafSolve|
- BOOT::|f04mbfSolve| BOOT::|f04atfSolve| BOOT::|f07fdfSolve|
- BOOT::|obey| BOOT::|f07aefGen| BOOT::|buildLibdbString|
- BOOT::|f07aefSolve| BOOT::|f07fefGen| BOOT::|f07adfSolve|
- BOOT::|f07adfGen| BOOT::|dbReadComments|
- BOOT::|f07fefSolve| BOOT::|f07fdfGen| BOOT::|s17defGen|
- BOOT::|f01qdfSolve| BOOT::|f01rcfSolve| BOOT::|f01mafGen|
- BOOT::|f01rdfGen| BOOT::|f01mafSolve| BOOT::|f01brfGen|
- BOOT::|f01mcfGen| BOOT::|f02axfGen| BOOT::|f02aefSolve|
- BOOT::|f02akfGen| BOOT::|f02abfSolve| BOOT::|f02bjfGen|
- BOOT::|bcErrorPage| BOOT::|f02xefGen| BOOT::|form2String|
- BOOT::|f02aafSolve| BOOT::|dbSourceFile|
- BOOT::MAKE-REASONABLE BOOT::|f02ajfSolve|
- BOOT::|f02axfSolve| BOOT::|f02affSolve| BOOT::|downlink|
- BOOT::BRIGHTPRINT-0 BOOT::|f02wefGen|
- BOOT::|conform2String| BOOT::|f02akfSolve|
- BOOT::|f02adfSolve| BOOT::|f02aafGen|
- BOOT::|dbSpecialExports| BOOT::|f02agfGen|
- BOOT::|f02bjfSolve| BOOT::|buildLibdbConEntry|
- BOOT::|f02agfSolve| BOOT::|dbSpecialDescription|
- BOOT::|f02xefSolve| BOOT::|f02abfGen| BOOT::|f02bbfGen|
- BOOT::|mkButtonBox| BOOT::|f02awfSolve|
- BOOT::|assignSlotToPred| BOOT::|f02bbfSolve|
- BOOT::|f02aefGen| BOOT::|f02awfGen| BOOT::|f02affGen|
- BOOT::|dbMkEvalable| BOOT::|mkEvalable|
- BOOT::|conPageChoose| BOOT::KILL-TRAILING-BLANKS
- BOOT::|ySearch| BOOT::|aSearch| BOOT::|close|
- BOOT::|kSearch| BOOT::|compileBoot| BOOT::|aokSearch|
- BOOT::|showNamedConstruct|
- BOOT::|reportOpsFromUnitDirectly1| BOOT::|oSearch|
- BOOT::|tabsToBlanks| BOOT::|underscoreDollars|
- BOOT::|mkGrepTextfile| BOOT::|reportOpsFromUnitDirectly0|
- BOOT::|replaceGrepStar| BOOT::|grepSource| BOOT::|xSearch|
- BOOT::|pSearch| BOOT::|dSearch| BOOT::|doSystemCommand|
- BOOT::|standardizeSignature| BOOT::|conPageFastPath|
- BOOT::|conPageConEntry| BOOT::|quickForm2HtString|
- BOOT::|dbAttr| BOOT::|e02ajfGen| BOOT::|pluralize|
- BOOT::|parseTran| BOOT::|e02defSolve|
- BOOT::|dbSpecialOperations| BOOT::|issueHTStandard|
- BOOT::|justifyMyType| BOOT::|getCallBackFn|
- BOOT::|bcDifferentiateGen| BOOT::|bcIndefiniteIntegrateGen|
- BOOT::|htMakeErrorPage| BOOT::|issueHT|
- BOOT::|setOutputAlgebra| BOOT::|bcDraw2DparGen|
- BOOT::|ExecuteSpadSystemCommand| BOOT::|bcDraw3Dpar1Gen|
- BOOT::|bcProductGen| BOOT::|ts| BOOT::|bcRealLimitGen|
- BOOT::|e02zafGen| BOOT::|bcSumGen| BOOT::|bcDraw3DparGen|
- BOOT::|bcDraw3DfunGen| BOOT::|aggwidth| BOOT::WIDTH
- BOOT::|bcDefiniteIntegrateGen| BOOT::|bcSeriesGen|
- BOOT::|subspan| BOOT::|bcPuiseuxSeriesGen|
- BOOT::|bcLaurentSeriesGen| BOOT::|superspan|
- BOOT::|bcSeriesByFormulaGen| BOOT::|bcNotReady|
- BOOT::|bcDraw2DfunGen| BOOT::|bcTaylorSeriesGen|
- BOOT::|bcDraw2DSolveGen| BOOT::KCL-OS-ENV-GET
- BOOT::|bcComplexLimitGen| BOOT::|saturnPRINTEXP|
- BOOT::|bcSeriesExpansionGen| BOOT::COMPILE-BOOT-FILE
- BOOT::|bcCreateVariableString| BOOT::|bcGenEquations|
- BOOT::|vConcatSuper| BOOT::BOOT-LOAD
- BOOT::|bcSolveNumerically1| BOOT::|bcLinearSolveEqnsGen|
- BOOT::|bcMakeUnknowns| BOOT::|bcInputSolveInfo|
- BOOT::|bcInputEquationsEnd| BOOT::|bcSystemSolveEqns1|
- BOOT::|bcLinearSolveEqns1| BOOT::|bcVectorGen|
- BOOT::|printBasic| BOOT::|subSuper| BOOT::|tr|
- BOOT::|bcLinearSolveMatrix1| BOOT::|stringList2String|
- BOOT::|bcString2HyString2| BOOT::|bcwords2liststring,fn|
- BOOT::|linkGen| BOOT::|optCallEval| BOOT::|tokType|
- BOOT::|timedEvaluate| BOOT::|roundStat|
- BOOT::|bracketString| BOOT::|e02bcfGen| BOOT::|e02gafGen|
- BOOT::|e02bbfSolve| VMLISP:OBEY BOOT::|e04ycfSolve|
- BOOT::|e04nafSolve| BOOT::|e04dgfSolve| BOOT::|e04fdfGen|
- BOOT::|e04gcfGen| BOOT::|NRTevalDomain| BOOT::|e04fdfSolve|
- BOOT::|e04mbfSolve| BOOT::|e04nafGen| BOOT::|e04gcfSolve|
- BOOT::|e04ucfGen| BOOT::|e04jafGen| BOOT::|e04mbfGen|
- BOOT::|e04jafSolve| BOOT::|e04dgfGen| BOOT::|e04ycfGen|
- BOOT::|f01rdfSolve| BOOT::|f01mcfSolve| BOOT::|f01qdfGen|
- BOOT::|f01qcfGen| BOOT::|f01qefGen| BOOT::|f01rcfGen|
- BOOT::|f01refSolve| BOOT::|f01qefSolve| BOOT::|e02zafSolve|
- BOOT::|f01qcfSolve| BOOT::|f01refGen| BOOT::|f01brfSolve|
- BOOT::|poGlobalLinePosn| BOOT:|sayString|
- BOOT::|incHandleMessage| BOOT::|pred2English|
- BOOT::|prefix2String0| BOOT::|form2StringLocal|
- BOOT::|formatOpType| BOOT::|form2String1| BOOT::|ncTag|
- BOOT::|ncAlist| BOOT::|tuple2String,f|
- BOOT::|formatAttributeArg| BOOT::|formString|
- BOOT::|form2StringWithPrens| BOOT::|prefix2String|
- BOOT::|form2StringAsTeX| BOOT::|prefix2StringAsTeX|))
-(PROCLAIM
- '(FTYPE (FUNCTION (*) T) BOOT::|bcConform| BOOT:STREAM-EOF
- BOOT::|categoryParts| BOOT:IOCLEAR BOOT:SAY BOOT:MOAN
- BOOT::|centerNoHighlight| BOOT:CROAK BOOT::INTERRUPT
- BOOT::LISP-BREAK-FROM-AXIOM BOOT:META VMLISP:NILFN
- BOOT::MAKE-DATABASE BOOT::|defaultTargetFE| BOOT::/DUPDATE
- BOOT::/UPDATE BOOT::/MONITOR VMLISP:$FILEP VMLISP:CALLBELOW
- BOOT::|systemError| BOOT::|listSort|
- BOOT::|asCategoryParts| BOOT::RDEFOUTSTREAM
- BOOT::RDEFINSTREAM VMLISP::SETQERROR BOOT::|throwMessage|
- BOOT::TOPLEVEL BOOT::|getDomainSigs|
- BOOT::|getInheritanceByDoc| BOOT::|showImp|
- BOOT::|showFrom| BOOT::|getDomainDocs| BOOT::|grepFile|
- BOOT::|printRecordFile| BOOT::|wasIs|
- BOOT::|htFile2RecordFile| BOOT::|inputFile2RecordFile|
- BOOT::|htFile2InputFile| BOOT::|bcComments|
- BOOT::|bcNameTable| BOOT::|dbSayItemsItalics|
- BOOT::|htPred2English| BOOT::|interpret|
- BOOT::|Enumeration,LAM| VMLISP:VMREAD VMLISP:RKEYIDS
- BOOT::/RP BOOT::MONITOR-TESTED BOOT::MONITOR-RESET
- BOOT::MONITOR-DISABLE BOOT::MONITOR-ENABLE
- BOOT::|returnStLFromKey| BOOT::MAKE-MONITOR-DATA
- BOOT::|level| BOOT::LEVEL BOOT::|resolveTT|
- BOOT::|isLegitimateMode| BOOT::|hasFileProperty|
- BOOT::|coerceConvertMmSelection| BOOT::|canCoerce|
- BOOT::|selectMms1| BOOT::|canCoerceFrom| BOOT::MAKE-TOKEN
- BOOT::MAKE-LINE BOOT::|centerAndHighlight| BOOT::|getOpDoc|
- BOOT::MAKE-STACK BOOT::|firstNonBlankPosition|
- BOOT::MAKE-XDR-STREAM BOOT::INITROOT
- BOOT::|EnumerationCategory,LAM| BOOT::|Mapping|
- BOOT::|RecordCategory,LAM| BOOT::|Union|
- BOOT::|UnionCategory,LAM| BOOT::|displayCategoryTable|
- BOOT::MAKE-REDUCTION BOOT::READ-A-LINE BOOT::|dbPresentOps|
- BOOT::|buildBitTable| BOOT::|htBlank|
- BOOT::|dbMakeContrivedForm| BOOT::|dcSize| BOOT::|sum|
- BOOT::|args2HtString| BOOT::|dc| BOOT::|bcNameCountTable|
- VMLISP::MAKE-LIBSTREAM BOOT::|nextown1| BOOT::|next1|
- BOOT::|incAppend1| BOOT::|synonym| BOOT::|grepConstruct|
- VMLISP::LOTSOF BOOT::|htBeginMenu| BOOT::|bcCon|
- BOOT::|koOps| BOOT::|dbWriteLines| BOOT::|catsOf|
- BOOT::|getDomainOpTable| BOOT:|PlainError|
- BOOT:|PlainPrint| BOOT::|htInitPageNoScroll|
- BOOT:|ReadLispExpr| BOOT::|conSpecialString?|
- BOOT::|htSayStandard| BOOT:|StreamFlush| BOOT:|NewPathname|
- BOOT:|SessionPathname| BOOT::|domainsOf|
- BOOT::|dbPresentCons| READLINE BOOT:|StringConcat|
- BOOT::|htBcLinks| BOOT::|pluralSay|
- BOOT::|getConstructorExports| BOOT::|sublisFormal|
- BOOT::NEXT-META-LINE BOOT::|htLispLinks|
- BOOT::META-META-ERROR-HANDLER BOOT::|dbHeading|
- BOOT::NEXT-BOOT-LINE BOOT::|concat| BOOT::SPAD_SYNTAX_ERROR
- BOOT::BOOT BOOT::|htQuery| BOOT::SPAD
- BOOT::|htSayIndentRel| BOOT::|bcConPredTable|
- BOOT::|htSaySaturn| BOOT::|dbSayItems| BOOT::|simpHasPred|
- BOOT::|start| BOOT::|protectedPrompt|
- BOOT::|htpMakeEmptyPage| BOOT::|htMakeButton|
- BOOT::|htSayIfStandard| BOOT::|htSay| BOOT::|incZip1|
- BOOT::|incIgen1| BOOT::|incRgen1|
- BOOT::|runOldAxiomFunctor| BOOT:|fillerSpaces|
- BOOT::|incLude1| FOAM::MAKE-FOAMPROGINFOSTRUCT
- BOOT::|bcPred| BOOT::|sayNewLine|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) CHARACTER) VMLISP:EBCDIC VMLISP:NUM2CHAR
- BOOT::LINE-CURRENT-CHAR))
-(PROCLAIM '(FTYPE (FUNCTION (T T *) FIXNUM) BOOT::LINE-NEW-LINE))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T) FIXNUM) BOOT::|rwrite128|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) STRING) BOOT::|stripSpaces| BOOT::LINE-BUFFER
- BOOT::DROPTRAILINGBLANKS))
-(PROCLAIM
- '(FTYPE (FUNCTION (T) T) BOOT::|form2FenceQuoteTail|
- BOOT::|combineMapParts| BOOT::|form2FenceQuote|
- BOOT::|mkMapPred| BOOT::|formatOpConstant|
- BOOT::|formJoin2| BOOT::|axOpTran| BOOT::|axFormatOpList|
- BOOT::|axFormatOp| BOOT::|optcomma|
- BOOT::|displayTranModemap|
- BOOT::|makeInternalMapMinivectorName|
- BOOT::|cleanUpSegmentedMsg| BOOT::|makeDefaultDef|
- BOOT::|getDefaultingOps| BOOT::|getOpSegment|
- BOOT::|removeIsDomainD| BOOT::|formatSignatureAsTeX|
- BOOT::|axFormatType| BOOT::|sayRemoveFunctionOrValue|
- BOOT::|pvarCondList| BOOT::|makeTypeSequence|
- BOOT::|makeArgumentIntoNumber| BOOT::|axFormatAttrib|
- BOOT::|categoryForm?| BOOT::|axFormatCondOp| BOOT:OPTIONAL
- BOOT::|axFormatPred| BOOT::|fileConstructors|
- BOOT::SOURCEPATH BOOT::|untraceMapSubNames| BOOT:LASTELEM
- BOOT::|mapPredTran| BOOT::|makeDefaultArgs|
- BOOT::|stripType| BOOT::|dqUnitCopy| BOOT::|mkAliasList|
- BOOT::|dqUnit| BOOT::|modemapToAx|
- BOOT::|isDefaultPackageName| BOOT::|getEqualSublis|
- BOOT::|myWritable?| BOOT::|getInfovec| BOOT::|predTran|
- BOOT::|fnameReadable?| BOOT::|hasDefaultPackage|
- BOOT::|compFailure| BOOT::|fnameType|
- BOOT::|setExtendedDomains|
- BOOT::|simplifyMapConstructorRefs| BOOT::|fnameName|
- BOOT::|StringToDir|
- BOOT::|spad2AxTranslatorAutoloadOnceTrigger|
- BOOT::|fnameDirectory|
- BOOT::|simplifyMapPattern,unTrivialize| BOOT::|DirToString|
- BOOT::|isPatternArgument| BOOT::|htQuote|
- BOOT::|isConstantArgument| BOOT::|frameName|
- BOOT::|objValUnwrap| BOOT::|htMakePage|
- BOOT::|PARSE-LedPart| BOOT::|htpPropertyList|
- BOOT::|analyzeMap,f| BOOT::|PARSE-NudPart|
- BOOT::|PARSE-Expr| BOOT::|bcHt| BOOT::|getIteratorIds|
- BOOT::|getUserIdentifiersInIterators|
- BOOT::|htpInputAreaAlist| BOOT::|getUserIdentifiersIn|
- BOOT::|PARSE-GliphTok| BOOT::|kePageOpAlist|
- BOOT::|fileNameStrings| BOOT::|inclmsgCannotRead|
- BOOT::MAKE-SYMBOL-OF BOOT:MATCH-ADVANCE-STRING
- BOOT::|removeUndoLines| BOOT::STACK-SIZE BOOT:NOTE
- BOOT::|histFileErase| BOOT::|histInputFileName|
- BOOT::STACK-STORE BOOT::|readHiFi| BOOT::|restoreHistory|
- BOOT::STACK-UPDATED BOOT::|clearSpad2Cmd| BOOT::|getToken|
- BOOT::|makeHistFileName| BOOT::|changeHistListLen|
- BOOT::|showHistory| BOOT::|setIOindex| BOOT::|saveHistory|
- BOOT::|PARSE-NBGliphTok| BOOT::|dewritify,dewritifyInner|
- BOOT::|setHistoryCore| BOOT::|charDigitVal|
- BOOT::|dewritify,is?| BOOT::|writify| BOOT::|history|
- BOOT::|gensymInt| BOOT::|dewritify| BOOT::TOKEN-NONBLANK
- BOOT::|undoFromFile| BOOT::FLOATEXPID
- BOOT::|e02dffSolve,fy| BOOT::|spadClosure?|
- BOOT::|bustUnion| BOOT::|writify,writifyInner|
- BOOT::|undoChanges| BOOT::|undoInCore| BOOT::|getSlot1|
- BOOT::|writifyComplain| BOOT::|unwritable?|
- BOOT::|dbSpecialDisplayOpChar?| BOOT::|removeAttributes|
- BOOT:|pathname| BOOT::|isLeaf| BOOT::|srcPosDisplay|
- BOOT::|srcPosColumn| BOOT::|transformOperationAlist|
- BOOT::|srcPosSource| BOOT::|sayNonUnique|
- BOOT::|compDefWhereClause,removeSuchthat|
- BOOT::|srcPosLine| BOOT::|compTuple2Record|
- BOOT::|srcPosFile| BOOT::|mkAtreeValueOf1| BOOT::|center80|
- BOOT::|loadFunctor|
- BOOT::|compDefWhereClause,transformType|
- BOOT::|mkCategoryPackage,gn|
- BOOT::|updateCategoryFrameForConstructor| BOOT:|sayFORMULA|
- BOOT::|convertOpAlist2compilerInfo|
- BOOT::|getCategoryOpsAndAtts| BOOT::|lispize|
- BOOT::|getSrcPos| BOOT::|mustInstantiate|
- BOOT::|isSystemDirectory| BOOT:ASSOCRIGHT BOOT::|getFlag|
- BOOT::|getMsgToWhere| BOOT::|mkExplicitCategoryFunction,fn|
- BOOT::|updateCategoryFrameForCategory| BOOT:CURSTRMLINE
- BOOT::|alreadyOpened?| BOOT::|msgImPr?| BOOT::|Operators|
- BOOT::|mkAtree1| BOOT::|getLineText| BOOT::|pfSourceText|
- BOOT::|toFile?| BOOT::|getMsgArgL| BOOT::|poGetLineObject|
- BOOT:BRIGHTPRINT BOOT::|getLinePos|
- BOOT::|loadIfNecessaryAndExists| BOOT::|lnPlaceOfOrigin|
- BOOT::|makeLeaderMsg| BOOT::|putInLocalDomainReferences|
- BOOT::|pfPosOrNopos| BOOT::|killNestedInstantiations|
- BOOT::|NRTputInTail| BOOT::|quotifyCategoryArgument|
- BOOT::|getLisplibVersion| BOOT::|getMsgPrefix|
- BOOT::|unInstantiate| BOOT::|asTupleAsVector|
- BOOT::|lisplibDoRename| BOOT::|asTupleSize|
- BOOT::|finalizeLisplib| BOOT::|disallowNilAttribute|
- BOOT::|asTupleNewCode0| BOOT::|processKeyedError|
- BOOT::|toScreen?| BOOT::|compileConstructor1|
- BOOT::|compileDocumentation| BOOT::|transformREPEAT|
- BOOT::|line?| BOOT::|readLibPathFast|
- BOOT::|modemap2Signature| BOOT::|transformCollect|
- BOOT::|msgLeader?| BOOT::|compileConstructor|
- BOOT::|initToWhere| BOOT::|initImPr|
- BOOT::|putDatabaseStuff| BOOT::|e02defSolve,fxy|
- BOOT::|getMsgPosTagOb| BOOT::|pfIdSymbol|
- BOOT::|mkAtreeExpandMacros| BOOT::|getMsgPos|
- BOOT::|macApplication| BOOT::|isInterpMacro|
- BOOT::|getMsgFTTag?| BOOT::|leader?|
- BOOT::|pf0ApplicationArgs| BOOT::|atree2EvaluatedTree|
- BOOT::|remFile| BOOT::|pfMLambda?| BOOT::|whichCat|
- BOOT::|pfApplicationOp| BOOT::|removeBindingI|
- BOOT::|addArgumentConditions,fn| BOOT::|macId|
- BOOT:STRMBLANKLINE BOOT::|getUnname1| BOOT:STRMSKIPTOBLANK
- BOOT::|remLine| BOOT::|pfSourcePosition|
- BOOT::|spadCompileOrSetq| BOOT::|getMsgKey?|
- BOOT::|mac0Get| BOOT::|getMsgKey| BOOT::|compile|
- BOOT::|evaluateType| BOOT::|constructMacro|
- BOOT::|poPosImmediate?| BOOT::|pfMLambdaBody|
- BOOT::|poNopos?| BOOT::|evaluateType1|
- BOOT::|pf0MLambdaArgs| BOOT:NEXTSTRMLINE
- BOOT::|evaluateSignature| BOOT::|macMacro|
- BOOT::|poLinePosn| BOOT::|failCheck| BOOT::|pfNothing?|
- BOOT::|compile,isLocalFunction| BOOT::|macSubstituteOuter|
- BOOT::|erMsgSep| BOOT::|pfMacroRhs| BOOT::|mkConstructor|
- BOOT::|showMsgPos?| BOOT::|pfMacroLhs| BOOT::|macExpand|
- BOOT:IS_GENVAR BOOT::|mkEvalableMapping| BOOT::|macLambda|
- BOOT::|getMsgInfoFromKey| BOOT::|evaluateType0|
- BOOT::|getStFromMsg| BOOT::|getUnnameIfCan|
- BOOT::|macWhere| BOOT::|tabbing| BOOT::|getMsgLitSym|
- BOOT::|pfApplication?| BOOT::|getPosStL| BOOT::|pfMacro?|
- BOOT::|doItIf,localExtras| BOOT::|getMsgText|
- BOOT::|mkEvalableUnion| BOOT::|pfLambda?|
- BOOT::|getMsgPrefix?| BOOT::|mkEvalableRecord|
- BOOT::|pfWhere?| BOOT::|getPreStL| BOOT::|makeOrdinal|
- BOOT::|mac0GetName| BOOT::|getAndEvalConstructorArgument|
- BOOT::|msgOutputter| BOOT::|pfLeaf?|
- BOOT::|mkEvalableCategoryForm| BOOT::|getMsgTag?|
- BOOT::|devaluateDeeply| BOOT::|pfLeafPosition|
- BOOT::|compDefineFunctor1,FindRep| BOOT::|pfAbSynOp|
- BOOT::|listOutputter| BOOT::|pfTypedId|
- BOOT::|processChPosesForOneLine| BOOT::|pf0LambdaArgs|
- BOOT::|e02dffSolve,fx| BOOT::|getModeSetUseSubdomain|
- BOOT::MKQSADD1 BOOT::|getModeSet| BOOT::|poCharPosn|
- BOOT::|posPointers| BOOT::|NRTgenInitialAttributeAlist|
- BOOT::|makeMsgFromLine| BOOT::THETA_ERROR
- BOOT::|mkRationalFunction| BOOT::MACROEXPANDALL
- BOOT::|isCategoryPackageName| BOOT::|erMsgSort|
- BOOT::|isAVariableType| BOOT::|msgNoRep?|
- BOOT::|getPrincipalView| BOOT::|To| BOOT::|hitListOfTarget|
- BOOT::SUBANQ BOOT::|From| BOOT::|domainDepth|
- BOOT::|NRTgetLocalIndexClear| BOOT::|constructSubst|
- BOOT::|containsVars| BOOT::|evalMmDom|
- BOOT::|abbreviationsSpad2Cmd|
- BOOT::|formatUnabbreviatedSig| BOOT::|optFunctorBody|
- BOOT::|optimize| BOOT::|emptyAtree| BOOT::|templateParts|
- BOOT::|dqToList| BOOT::|dqConcat| BOOT::|isHomogeneousList|
- BOOT::|isUncompiledMap| BOOT::|printMms|
- BOOT::|getSymbolType| BOOT::/UNTRACE-REDUCE
- BOOT::|matchMmCond| BOOT::|object2Identifier|
- BOOT::|selectMostGeneralMm| BOOT::|fixUpTypeArgs|
- BOOT::|handleLispBreakLoop| BOOT::TRACEOPTIONS BOOT:REMDUP
- BOOT::|evalMmStack| BOOT::SHOWBIND BOOT::DROPENV
- BOOT::UNVEC BOOT::|noSharpCallsHere|
- BOOT::|untraceDomainConstructor| BOOT:CURMAXINDEX
- BOOT::|isDomain| BOOT::|getFunctionSourceFile|
- BOOT::|isMap| BOOT::HACKFORIS1 BOOT::HACKFORIS
- BOOT::|containsVars1| BOOT::|orderMmCatStack|
- BOOT::|evalMmStackInner| BOOT::DEF-IN2ON
- BOOT::|new2OldTran| BOOT::|resolveTypeList|
- BOOT::|newConstruct| BOOT::|newIf2Cond| BOOT::|newDef2Def|
- BOOT::|asTupleNew0| BOOT::DEF-MESSAGE1 BOOT::LIST2STRING1
- BOOT::DEF-WHERE BOOT::DEF-SEQ BOOT::SEQOPT BOOT::DEF-IS
- BOOT::DEF-EQUAL BOOT::DEF-MESSAGE BOOT::DEF-CATEGORY
- BOOT::DEF-REPEAT BOOT::DEF-COND BOOT::DEF-LESSP
- BOOT::SMINT-ABLE BOOT::DEF-COLLECT BOOT::DEF-STRING
- BOOT::|Zeros| BOOT::DEF-SETELT BOOT::DEF-RENAME1
- BOOT::DEF-ELT BOOT::|DEF-:| BOOT::DEF-ADDLET
- BOOT::|quoteWidth| BOOT::DEF-INSERT_LET1 BOOT::|boxSuper|
- BOOT::DEF-WHERECLAUSE BOOT::DEF-STRINGTOQUOTE
- BOOT::|boxSub| BOOT::DEF-INSERT_LET BOOT::LIST2CONS-1
- BOOT::|bootTransform| BOOT::|concatWidth|
- BOOT::DEF-IS-REMDUP1 BOOT::|altSuperSubWidth|
- BOOT::|altSuperSubSuper| BOOT::|concatbWidth|
- BOOT::LIST2CONS BOOT::|altSuperSubSub| BOOT::DEF-IS-REMDUP
- BOOT::|concatSuper| BOOT::DEF-IS-EQLIST
- VMLISP:RECOMPILE-DIRECTORY BOOT::|concatSub|
- BOOT::|new2OldDefForm| BOOT::|binomWidth|
- BOOT::|binomSuper| BOOT::DEF-SELECT BOOT::|binomSub|
- BOOT::COMP-TRAN-1 BOOT::PUSHLOCVAR BOOT::COMP-EXPAND
- BOOT::|canCacheLocalDomain,domargsglobal| VMLISP:MAKE-CVEC
- BOOT::|inSuper| BOOT::COMP-NEWNAM BOOT::COMP-TRAN
- BOOT::|inSub| BOOT::COMP-FLUIDIZE BOOT::|addInputLibrary|
- BOOT::|inWidth| BOOT::|dropInputLibrary|
- BOOT::|openOutputLibrary| BOOT::|moveORsOutside|
- BOOT::|stepSuper| BOOT::|outputTranMatrix|
- BOOT::|fracwidth| BOOT::|stepSub| BOOT::|compQuietly|
- BOOT::|listOfPatternIds| BOOT::|fracsuper| BOOT::COMP-1
- BOOT::|getOplistForConstructorForm| BOOT::|stepWidth|
- BOOT::COMP-2 VMLISP:TRIMSTRING BOOT::|maprin0|
- BOOT::|compAndDefine| BOOT::|abbreviate| BOOT::|fracsub|
- BOOT::|exptSuper| BOOT::|mathPrintTran|
- BOOT::|COMP,FLUIDIZE| VMLISP:COMP370 BOOT::|exptWidth|
- BOOT::|rootWidth| BOOT::|with| BOOT::|exptNeedsPren|
- BOOT::|minusWidth| VMLISP:|log| BOOT::|maprin|
- BOOT::|loadDependents| BOOT::|concatTrouble,fixUp|
- BOOT::|loadIfNecessary| VMLISP:MBPIP BOOT::|timesWidth|
- BOOT::|rootSuper| BOOT::|interactiveModemapForm,fn|
- BOOT::|largeMatrixAlist| VMLISP:QSORT BOOT::|sumWidth|
- VMLISP:PLACEP BOOT::LOG10 BOOT::|aggWidth| BOOT::|zagWidth|
- BOOT::|pi2Width| BOOT::|rebuildCDT| BOOT::|LZeros|
- BOOT::|e02zafSolve,fmu| BOOT::|signatureTran|
- BOOT::|destructT| BOOT::|userError| BOOT::|clearAllSlams|
- BOOT::|displayComp| VMLISP:HKEYS BOOT::|mkErrorExpr|
- BOOT::|pi2Sup| BOOT::|compOrCroak1,compactify|
- BOOT::|pi2Sub| BOOT::|convertSpadToAsFile|
- BOOT::|overbarSuper| BOOT::|outputOp| BOOT::|compiler|
- BOOT::|resolveTMRed1| BOOT::|resolveTTRed3|
- BOOT::|fnameWritable?| BOOT::MONITOR-EVALBEFORE
- VMLISP:UPCASE BOOT::|interpOp?| BOOT::|pathnameName|
- BOOT::|pathnameDirectory| BOOT::SPADSYSNAMEP VMLISP:STATEP
- BOOT::|compileSpad2Cmd| BOOT::MONITOR-BLANKS
- BOOT::|piWidth| BOOT::|newType?| BOOT::WHOCALLED
- BOOT::|charyTopWidth| VMLISP:FBPIP BOOT::|bubbleType|
- BOOT::|putWidth| BOOT::|piSup| BOOT::OPTIONS2UC
- BOOT::|overlabelSuper| BOOT::|pathnameType|
- BOOT::|spadThrowBrightly| BOOT::/OPTIONS BOOT::|piSub|
- BOOT::/UNEMBED-Q BOOT::/UNEMBED-1
- BOOT::|typeIsASmallInteger| BOOT::|indefIntegralWidth|
- BOOT::|indefIntegralSup| BOOT::|isSimple| VMLISP:UNEMBED
- BOOT::|indefIntegralSub| BOOT::|primitiveType|
- BOOT::|mkAtree| BOOT::/UNTRACELET-2
- BOOT::|outputTranIterate| BOOT::|errorRef|
- VMLISP:RE-ENABLE-INT BOOT::/UNTRACELET-1 BOOT::|intWidth|
- BOOT::|NRTgetLocalIndex| BOOT::|getOutputAbbreviatedForm|
- BOOT::|isFluid| VMLISP:IVECP BOOT::|iterVarPos|
- BOOT::|remWidth| VMLISP:LIST2VEC BOOT::|matWidth|
- BOOT::|asTupleAsList| BOOT::|outputTranIteration|
- VMLISP:LISTOFQUOTES BOOT::|upcase| BOOT::|intSup|
- BOOT::|reassembleTowerIntoType| BOOT::|upor|
- BOOT::|matSuper| BOOT::|hasFormalMapVariable,hasone?|
- BOOT::|intSub| VMLISP:IS-CONSOLE BOOT::|coerceUnion2Branch|
- BOOT::|PushMatrix| BOOT::MKPROGN BOOT::|uncons|
- VMLISP:MAKE-ABSOLUTE-FILENAME
- BOOT::|retract2Specialization| BOOT::|sigma2Width|
- VMLISP:FUNARGP BOOT::|syminusp| BOOT::|NRTassocIndex|
- BOOT::|resolveTypeListAny| BOOT::MONITOR-PRINTREST
- BOOT::|extwidth| BOOT::|varsInPoly| BOOT::|sigma2Sup|
- BOOT::|stackWarning| BOOT::SMALL-ENOUGH BOOT::|extsuper|
- BOOT::|sigma2Sub| BOOT::|extsub| BOOT::|sigmaWidth|
- BOOT::/INITUPDATES BOOT::|sigmaSup| BOOT::IS_SHARP_VAR
- BOOT::|sigmaSub| BOOT::|retract1| BOOT::|qTWidth| VMLISP:LN
- BOOT::|decomposeTypeIntoTower| BOOT::|transcomparg|
- BOOT::FUNLOC BOOT::|stringWidth|
- BOOT::|mathprintWithNumber| BOOT::COND-UCASE
- VMLISP:PROPLIST BOOT::|texFormat| BOOT::|bubbleConstructor|
- BOOT::|isSubForRedundantMapName| BOOT::|isDomainOrPackage|
- BOOT::|dispfortexp| BOOT::|isInterpOnlyMap|
- BOOT::|formulaFormat| BOOT::|boxWidth| BOOT::|sayMath|
- BOOT::|domainZero| BOOT::|domainOne| VMLISP:COPY
- VMLISP:DOWNCASE BOOT::|e04ucfSolve,fg| VMLISP:SHUT
- BOOT::|unescapeStringsInForm|
- BOOT::|executeInterpreterCommand| VMLISP:REROOT
- BOOT::|parseAndInterpret| VMLISP:DIG2FIX
- BOOT::|ncSetCurrentLine| BOOT::|pvarsOfPattern|
- BOOT::|htEscapeString| BOOT::|e01safSolve,f|
- BOOT::|e04ucfSolve,fe| BOOT::|e01befSolve,f|
- BOOT::|e01bffSolve,g| VMLISP:LOG2 BOOT::|e01dafSolve,g|
- BOOT::|e01dafSolve,f| VMLISP:SIZE VMLISP:EOFP
- BOOT::|e01bffSolve,f| VMLISP:RSHUT BOOT::|e04ucfSolve,fd|
- BOOT::|e01bhfSolve,f| BOOT::|objVal| BOOT::|getValue|
- BOOT::|getMode| BOOT::|getUnname| VMLISP:DIGITP
- BOOT::|bottomUp| BOOT::|mkAtreeNode| VMLISP:VEC2LIST
- VMLISP:MAKE-VEC VMLISP:GCMSG BOOT::|retract|
- BOOT::|getUnionOrRecordTags| BOOT::|e02dcfColdSolve,h|
- BOOT::|e02ajfSolve,f| BOOT::|polyVarlist|
- BOOT::|e02befColdSolve,f| BOOT::|removeQuote|
- BOOT::|e02dcfColdSolve,g| BOOT::|e02dcfColdSolve,f|
- BOOT::|isMapExpr| BOOT::|getTarget|
- BOOT::|e02ddfColdSolve,f| BOOT::|isType|
- BOOT::|bottomUpElt| BOOT::|e02adfSolve,f|
- BOOT::|retractAtree| BOOT::|bottomUpPercent|
- BOOT::|fetchOutput| BOOT::|e02aefSolve,f|
- BOOT::|e02gafSolve,fb| BOOT::|bottomUpUseSubdomain|
- BOOT::|getBasicObject| BOOT::|bottomUpCompile|
- BOOT::|e02ddfSolve,h| BOOT::|e02ddfSolve,g|
- BOOT::|e02bafSolve,g| BOOT::|e02bcfSolve,f|
- BOOT::|getBasicMode| BOOT::|e02ddfSolve,f| BOOT::|unwrap|
- BOOT::|isWrapped| BOOT::|e02bafSolve,f| BOOT::GETZEROVEC
- BOOT::|containsPolynomial|
- BOOT::|getModeOrFirstModeSetIfThere| BOOT::|e02ahfSolve,f|
- BOOT::|e04ucfSolve,fc| BOOT::|wrapMapBodyWithCatch|
- BOOT::|e02agfSolve,i| BOOT::|e02agfSolve,h|
- BOOT::|e02bdfSolve,f| BOOT::|containsVariables|
- BOOT::|e02bbfSolve,f| BOOT::|wrapped2Quote|
- BOOT::|objCodeVal| BOOT::|objCodeMode|
- BOOT::|e02akfSolve,f| BOOT::|asyUnTuple|
- BOOT::|asyTypeUnitList| BOOT::|asyComma?|
- BOOT::|interactiveModemapForm| BOOT::|isTaggedUnion|
- BOOT::|asIsCategoryForm| BOOT::|opOf| BOOT::|e02agfSolve,g|
- BOOT::|asySubstMapping| BOOT::|e02agfSolve,f|
- BOOT::|asyTypeMapping| BOOT::|asyCATEGORY|
- BOOT::|e02dafSolve,fp| BOOT::|asyShorten|
- BOOT::|e02dafSolve,fmu| BOOT::|createAbbreviation|
- BOOT::|astran| BOOT::|asMakeAlist| BOOT::|asyParents|
- BOOT::|asyDocumentation| BOOT::|asyConstructorModemap|
- BOOT::|asytran| BOOT::|asyPredTran| BOOT::|asyPredTran1|
- BOOT::|as| BOOT::|asytranLiteral| BOOT::|asytranEnumItem|
- BOOT::|constructor?| BOOT::|hackToRemoveAnd|
- BOOT::|asyGetAbbrevFromComments| BOOT::|intern|
- BOOT::|asyTypeJoinPartPred| BOOT::|zeroOneConversion|
- BOOT::|asyArgs| BOOT::|asyArg| BOOT::|asyFindAttrs|
- BOOT::|asyAncestors| BOOT::|asyAncestorList|
- BOOT::|asyTypeJoinItem| BOOT::|isLowerCaseLetter|
- BOOT::|abbreviation?| BOOT::|asAll| BOOT::|error|
- BOOT::|asyTypeJoinPartIf| BOOT::|asyType|
- BOOT::|asyTypeJoin| BOOT::|asyTypeJoinPartExport|
- BOOT::|asyCattranOp| BOOT::|predicateBitRef|
- BOOT::|asyMkpred| BOOT::|asyLooksLikeCatForm?|
- BOOT::|asyCosigType| BOOT::|setVector12|
- BOOT::|asMakeAlistForFunction| BOOT::|optFunctorPROGN|
- BOOT::|getAttributesFromCATEGORY| BOOT::|worthlessCode|
- BOOT::|mySort| BOOT::|optFunctorBody,CondClause|
- BOOT::|mkDomainFormer| BOOT::|mkNiladics| BOOT::|optCall|
- BOOT::|explodeIfs| BOOT::|folks| BOOT::|mkVector|
- BOOT::|asyExtractDescription| BOOT::|asyCattran1|
- BOOT::|simpCattran| BOOT::|asyCattran| BOOT::|asyCatItem|
- BOOT::|asyExportAlist| BOOT::FOOBAR
- BOOT::|bootAbsorbSEQsAndPROGNs| BOOT::|displayDatabase|
- BOOT::|bootAbsorbSEQsAndPROGNs,flatten| BOOT::|bootTran|
- BOOT::|asyConstructorArg| BOOT::|bootLabelsForGO|
- BOOT::GP2COND BOOT::|bootPROGN| BOOT::|asyTypeMakePred|
- BOOT::|bootSEQ| BOOT::|tryToRemoveSEQ| BOOT::|nakedEXIT?|
- BOOT::|asyConstructorArgs| BOOT::|mergeCONDsWithEXITs|
- BOOT::STREAM2UC BOOT::|asyTypeJoinStack| BOOT::|bootCOND|
- BOOT::STRINGREST BOOT::|bootAND| BOOT::|boot2Lisp|
- BOOT::|bootOR| BOOT::|asyTypeJoinPartWith| BOOT::|bootIF|
- BOOT::|asyCosig| BOOT::|bootAND,flatten|
- BOOT::|bootPushEXITintoCONDclause| BOOT::|asyIsCatForm|
- BOOT::|bootOR,flatten| BOOT::|asCategoryParts,exportsOf|
- BOOT::|removeEXITFromCOND| BOOT::|flattenCOND| BOOT::/FLAG
- BOOT::|extractCONDClauses| BOOT::|hashable|
- BOOT::|trimString| BOOT::|mergeableCOND|
- BOOT::|knownEqualPred| BOOT::|removeEXITFromCOND?|
- BOOT::CPSAY BOOT::|zeroOneConvert| BOOT::/EDIT
- BOOT::|domainForm?| BOOT::|makeByteWordVec|
- BOOT::DECIMAL-LENGTH BOOT::|unabbrevAndLoad| BOOT::READLISP
- BOOT::|abbQuery| BOOT::SPAD-EVAL BOOT::/TRANSNBOOT
- BOOT::SPAD-MDTR-2 BOOT::SPAD-MDTR-1 BOOT::/TRANSPAD
- BOOT::|setAutoLoadProperty| BOOT::/TRANSMETA
- BOOT::|getConstructorUnabbreviation| BOOT::|getLisplibName|
- BOOT::OPTIMIZE&PRINT
- BOOT::|getPartialConstructorModemapSig| BOOT::UNCONS
- BOOT::|maximalSuperType| BOOT::|getImmediateSuperDomain|
- BOOT::|augmentLowerCaseConTable| BOOT::|isNameOfType|
- BOOT::|objMode| BOOT::|isDomainValuedVariable|
- BOOT::|packageForm?| BOOT::|sayMSG2File| BOOT::|concatList|
- BOOT::|mkMessage| BOOT::|clearCache| BOOT::|IdentityError|
- BOOT::/TRANSBOOT BOOT::|process| BOOT::|mathprint|
- BOOT::ISLOCALOP-1 BOOT::|pushSatOutput| BOOT::|fracpart|
- BOOT::|negintp| BOOT::|intpart| BOOT::|optRECORDELT|
- BOOT::|optIF2COND| BOOT::C-TO-R BOOT::C-TO-S BOOT::S-TO-C
- BOOT::CGAMMA BOOT::RGAMMA BOOT::CLNGAMMA BOOT::RLNGAMMA
- BOOT::|getDomainOps| BOOT::|showGoGet|
- BOOT::|showAttributes| BOOT::|showPredicates|
- BOOT::|showSummary| BOOT::|getExtensionsOfDomain|
- BOOT::|getDomainSeteltForm| BOOT::|getCategoriesOfDomain|
- BOOT::|getDomainExtensionsOfDomain| BOOT::|bnot|
- BOOT::|notDnf| BOOT::|b2dnf| BOOT::|ordList| BOOT::|bor|
- BOOT::|band| BOOT::|bassert| BOOT::|notCoaf| BOOT::|list3|
- BOOT::|list2| BOOT::|list1| BOOT::|dnf2pf| BOOT::|be|
- BOOT::|reduceDnf| BOOT::|bassertNot| BOOT::|prove|
- BOOT::|testPredList| BOOT::|nodeCount|
- BOOT::|mkCircularAlist| BOOT::|clearSlam,LAM|
- BOOT::|getCacheCount| BOOT::|clearLocalModemaps|
- BOOT::|hashCount| BOOT::|parseAndEvalToHypertex|
- BOOT::|oldParseAndInterpret| BOOT::|parseAndInterpToString|
- BOOT::|parseAndEvalToStringEqNum| BOOT::|setHistory|
- BOOT::|setExposeAddGroup| BOOT::|setFortDir|
- BOOT::|validateOutputDirectory| BOOT::|setOutputLibrary|
- BOOT::|setFortPers| BOOT::|setExposeDropConstr|
- BOOT::|setExposeDropGroup| BOOT::|setExposeDrop|
- BOOT::|setFortTmpDir| BOOT::|setExposeAdd|
- BOOT::|setExpose| BOOT::|setInputLibrary|
- BOOT::|setAsharpArgs| BOOT::|countCache| BOOT::|cgamma|
- BOOT::|rgamma| BOOT::|clngammacase3| BOOT::|cgammaBernsum|
- BOOT::|cgammaAdjust| BOOT::|lnrgammaRatapprox|
- BOOT::|phiRatapprox| BOOT::|lnrgamma|
- BOOT::|gammaRatapprox| BOOT::|gammaRatkernel|
- BOOT::|gammaStirling| BOOT::|PsiIntpart|
- BOOT::|isFilterDelimiter?|
- BOOT::|mkDetailedGrepPattern,simp| BOOT::|cgammat|
- BOOT::|isDefaultOpAtt| BOOT::|replaceTicksBySpaces|
- BOOT::COT BOOT::|conform2OutputForm| BOOT::|lncgamma|
- BOOT::|dbGetName| BOOT::|pfTupleList| BOOT::|pfWIfElse|
- BOOT::|pfWIfThen| BOOT::|mkGrepPattern1,addWilds|
- BOOT::|pfWIfCond| BOOT::|pfWIf?| BOOT::|mkGrepPattern1,g|
- BOOT::|organizeByName| BOOT::|pfAssignLhsItems|
- BOOT::|pfRetractToType| BOOT::|getTempPath| BOOT::|pfSexpr|
- BOOT::|looksLikeDomainForm| BOOT::|pfRetractToExpr|
- BOOT::|pfRetractTo?| BOOT::|pfExpression?|
- BOOT::|genSearchUniqueCount|
- BOOT::|pf0FlattenSyntacticTuple| BOOT::|pfSexpr,strip|
- BOOT::|pmPreparse| BOOT::|dbUnpatchLines|
- BOOT::|evaluateLines| BOOT::|verifyRecordFile|
- BOOT::|sayDocMessage| BOOT::|recordAndPrintTest,fn|
- BOOT::|pmParseFromString|
- BOOT::|conLowerCaseConTranTryHarder| BOOT::|fnameExists?|
- BOOT::|htTrimAtBackSlash| BOOT::|setExposeAddConstr|
- BOOT::|dbBasicConstructor?| BOOT::|lfnegcomment|
- BOOT::|lfcomment| BOOT::|bcStarConform| BOOT::|lfstring|
- BOOT::|bcStar| BOOT::|simpBool| BOOT::|scanKeyTr|
- BOOT::|extractHasArgs,find| BOOT::|lfkey|
- BOOT::|scanPossFloat| BOOT::|scanCloser?|
- BOOT::|bcStarSpace| BOOT::|keyword|
- BOOT::|loadLibIfNotLoaded| BOOT::|lineoftoks|
- BOOT::|lisp2HT| BOOT::|getCType| BOOT::|lisp2HT,fn|
- BOOT::|conform2HtString| BOOT::|nextline|
- BOOT::|unMkEvalable| BOOT::|int2Bool| BOOT::|keyword?|
- BOOT::|htSayList| BOOT::|scanW| BOOT::|isLoaded?|
- BOOT::|mkQuote| BOOT::|lfinteger| BOOT::|mkQuote,addQuote|
- BOOT::|functionAndJacobian| BOOT::|lferror|
- BOOT::|scanWord| BOOT::|scanTransform|
- BOOT::|htPred2English,fnAttr| BOOT::|dbConname|
- BOOT::|digit?| BOOT::|addSpaces| BOOT::|dbKindString|
- BOOT::|lfspaces| BOOT::|stripUnionTags| BOOT::|lfid|
- BOOT::|mkPredList| BOOT::|spad2lisp|
- BOOT::|orderUnionEntries| BOOT::|punctuation?|
- BOOT::|Record0| BOOT::|makeFort,untangle|
- BOOT::|makeFort,untangle2| BOOT::|makeOutputAsFortran|
- BOOT::|rdigit?| BOOT::|vec2Lists| BOOT::|npMoveTo|
- BOOT::|complexRows| BOOT::|makeLispList|
- BOOT::|pfSourceStok| BOOT::|vec2Lists1|
- BOOT::|multiToUnivariate| BOOT::|spadTypeTTT|
- BOOT::|makeUnion| BOOT::|stripNil|
- BOOT::|parseAndEvalToString|
- BOOT::|parseAndEvalToStringForHypertex| BOOT::|XDRFun|
- BOOT::|pair2list| BOOT::|pfStringConstString|
- BOOT::|pfExportDef| BOOT::|prefix2Infix|
- BOOT::|pfDefinitionSequenceArgs| BOOT::|lispType|
- BOOT::|pfComDefinitionDef| BOOT::|checkForBoolean|
- BOOT::|npTrapForm| BOOT::|pfTransformArg|
- BOOT::|vectorOfFunctions| BOOT::|pfTaggedToTyped1|
- BOOT::|pfFlattenApp| BOOT::|pfTaggedToTyped|
- BOOT::|pfCollectVariable1|
- BOOT::|InvestigateConditions,pessimise| BOOT::|pfCollect1?|
- BOOT::|d01gafSolve,f| BOOT::|pfComDefinitionDoc|
- BOOT::|PrepareConditional| BOOT::|pfLoopIterators|
- BOOT::|TryGDC| BOOT::|d01fcfSolve,f| BOOT::|compCategories|
- BOOT::|pfHidePart| BOOT::|makeMissingFunctionEntry,tran|
- BOOT::|PacPrint| BOOT::|keyItem| BOOT::|pfHide?|
- BOOT::|pfDocumentText| BOOT::|pfDocument?|
- BOOT::|e02dafSolve,fxy| BOOT::|pfLambdaArgs|
- BOOT::|ConstantCreator| BOOT::|pfDefinitionLhsItems|
- BOOT::|pf0WithWithin| BOOT::|d02bbfSolve,fb|
- BOOT::|pfWithWithin| BOOT::|d02bbfSolve,fa|
- BOOT::|pf0WithBase| BOOT::|d02gbfSolve,fe|
- BOOT::|pfWithBase| BOOT::|pfWithWithon| BOOT::|pfNot|
- BOOT::|d02kefSolve,fc| BOOT::|pfId| BOOT::|pfTupleParts|
- BOOT::|d02kefSolve,fb| BOOT::|pfWhereContext|
- BOOT::|InvestigateConditions| BOOT::|pfCheckArg|
- BOOT::|InvestigateConditions,reshape|
- BOOT::|d02kefSolve,fa| BOOT::|pfCheckId|
- BOOT::|getPossibleViews| BOOT::|pfQualTypeQual|
- BOOT::|ICformat| BOOT::|pfTupleListOf|
- BOOT::|InvestigateConditions,mkNilT| BOOT::|pfQualTypeType|
- BOOT::|pfQualType?| BOOT::|getViewsConditions|
- BOOT::|pfDWhereExpr| BOOT::|ICformat,Hasreduce|
- BOOT::|pfForinLhs| BOOT::|ICformat,ORreduce|
- BOOT::|d02gbfSolve,fi| BOOT::|d02gbfSolve,fh|
- BOOT::|pfDWhereContext| BOOT::|CategoriesFromGDC|
- BOOT::|pfSymbolVariable?| BOOT::|d02rafSolve,fc|
- BOOT::|pfMLambdaArgs| BOOT::|optFunctorBodyRequote|
- BOOT::|d02gafSolve,ff| BOOT::|pfInlineItems|
- BOOT::|d02rafSolve,fb| BOOT::|pfSemiColonBody|
- BOOT::|d02rafSolve,fa| BOOT::|pfSemiColon?|
- BOOT::|optFunctorBodyQuotable| BOOT::|d02gafSolve,fd|
- BOOT::|pfInline| BOOT::|pf0AddBase| BOOT::|pfAddBase|
- BOOT::|d02ejfSolve,fb| BOOT::|pfSemiColon|
- BOOT::|pfAddAddon| BOOT::|d02ejfSolve,fa|
- BOOT::|pfAddAddin| BOOT::|d02bhfSolve,fb|
- BOOT::|pf0ImportItems| BOOT::|d02bhfSolve,fa|
- BOOT::|pfImportItems| BOOT::|pfInline?|
- BOOT::|pfReturnFrom| BOOT::|pfImport|
- BOOT::|d02gafSolve,fb| BOOT::|pfListOf?|
- BOOT::|pfFreeItems| BOOT::|pf0TLambdaArgs|
- BOOT::|d02gafSolve,fa| BOOT::|pfTLambdaArgs|
- BOOT::|pfTLambdaBody| BOOT::|pfExitNoCond|
- BOOT::|pf0WrongRubble| BOOT::|pfWrongRubble|
- BOOT::|pfTLambdaRets| BOOT::|pfWrongWhy|
- BOOT::|pfIterateFrom| BOOT::|pfLocalItems|
- BOOT::|pfAttributeExpr| BOOT::|d02cjfSolve,fb|
- BOOT::|pfAttribute?| BOOT::|pfLoop| BOOT::|d02cjfSolve,fa|
- BOOT::|pfDo| BOOT::|pfWDeclareDoc| BOOT::|pfSecond|
- BOOT::|pfWDeclareSignature| BOOT::|pfWDeclare?|
- BOOT::|pfCheckInfop| BOOT::|d03edfSolve,fd|
- BOOT::|pf0CollectIterators| BOOT::|pfExport?|
- BOOT::|d03edfSolve,fc| BOOT::|pfDeclPart?|
- BOOT::|d03edfSolve,fa| IDENTITY BOOT::|pfDWhere?|
- BOOT::|pfImport?| BOOT::|pfTyping?| BOOT::|pfSuchthat|
- BOOT::|pfComDefinition?| BOOT::|pfTLambda?| BOOT::|pfWhile|
- BOOT::|pfAdd?| BOOT::|pf0ExportItems| BOOT::|pfExportItems|
- BOOT::|pfExpr?| BOOT::|pfWith?| BOOT::|e01sefSolve,f|
- BOOT::|pf0TypingItems| BOOT::|pfTypingItems|
- BOOT::|pfGetLineObject| BOOT::|lnFileName?|
- BOOT::|e01bgfSolve,g| BOOT::|e01bgfSolve,f|
- BOOT::|pfNopos?| BOOT::|lnExtraBlanks|
- BOOT::|pfPlaceOfOrigin| BOOT::|ravel|
- BOOT::|poPlaceOfOrigin| BOOT::|e01bafSolve,f|
- BOOT::|pfFileName?| BOOT::|poFileName?|
- BOOT::|parseAndEval| BOOT::|getDomainHash| BOOT::|aplTran1|
- BOOT::|hasAplExtension| BOOT::|htpDomainConditions|
- BOOT::|aplTranList| BOOT::|postDefArgs|
- BOOT::|postTranScripts| BOOT::|getHtMacroItem|
- BOOT::|postTranScripts,fn| BOOT::|unTuple|
- BOOT::|isPackageType| BOOT::|buttonNames|
- BOOT::|postcheckTarget| BOOT::|postcheck|
- BOOT::|dbNonEmptyPattern| BOOT::|postBlockItemList|
- VMLISP:|last| BOOT::|postBlockItem| BOOT::|postQuote|
- BOOT::|postSequence| BOOT::|postTranList|
- BOOT::|checkWarning| VMLISP:HASHTABLE-CLASS
- BOOT::|downlinkSaturn| BOOT::|decodeScripts,fn|
- BOOT::|mkUnixPattern| BOOT::|tuple2List|
- BOOT::|postCapsule| BOOT::|patternCheck| BOOT::|postElt|
- BOOT::|postSEGMENT| BOOT::|e04nafSolve,ff|
- BOOT::|postIteratorList| BOOT::|npEqPeek| BOOT::|postForm|
- BOOT::|htAllOrNum| BOOT::|postOp| BOOT::|stringize|
- VMLISP:LISTOFFREES BOOT::|postTuple| BOOT::|postExit|
- BOOT::|parseWord| BOOT::|postMapping| VMLISP:GENSYMP
- BOOT::|postMDef| BOOT::|pfAttribute| BOOT::|postDef|
- BOOT::|npRestore| BOOT::|postCategory| BOOT::|aplTran|
- BOOT::|containsBang| BOOT::|htMakePathKey| BOOT::|postJoin|
- BOOT::|npWConditional| BOOT::|postTransformCheck|
- BOOT::|npBraced| VMLISP:PAPPP
- BOOT::|chkAllNonNegativeInteger| BOOT::|postIf|
- BOOT::|chkNonNegativeInteger| BOOT::|postPretend|
- BOOT::|pfId?| BOOT::|postAtSign| BOOT::|npBracketed|
- BOOT::|postColon| BOOT::|chkDirectory|
- BOOT::|postColonColon| BOOT::|postWhere|
- BOOT::|npZeroOrMore| BOOT::|postSemiColon|
- BOOT::|postBlock| BOOT::|pfParts| BOOT::|deepestExpression|
- BOOT::|translateYesNo2TrueFalse| BOOT::|postComma|
- BOOT::|pfEnSequence| BOOT::|comma2Tuple|
- BOOT::|npParenthesized| BOOT::|chkOutputFileName|
- BOOT::|postReduce| BOOT::|chkPosInteger| BOOT::|postAdd|
- BOOT::|pfUnSequence| BOOT::|postTupleCollect|
- BOOT::|postCollect| BOOT::|postRepeat| BOOT::|postIn|
- BOOT::|htShowCount| BOOT::|satisfiesUserLevel|
- BOOT::|postin| BOOT::|postQUOTE| BOOT::|pfListOf|
- BOOT::|postScripts| BOOT::|translateTrueFalse2YesNo|
- BOOT::|postWith| BOOT::|e02dffSolve,fp| VMLISP:CHARP
- BOOT::|chkNameList| BOOT::|isSymbol| BOOT::INFIXTOK
- BOOT::|npQualified| BOOT::SKIP-TO-ENDIF
- BOOT::|npConditional| BOOT::|stackMessageIfNone|
- BOOT::PREPARSEREADLINE BOOT::|npElse|
- BOOT::|translateYesNoToTrueFalse| BOOT::|npMissing|
- BOOT::PREPARSEREADLINE1 BOOT::|npDDInfKey| VMLISP:RPACKFILE
- BOOT::SKIP-IFBLOCK BOOT::|tokPart| BOOT::|npInfKey|
- VMLISP:RECOMPILE-LIB-FILE-IF-NECESSARY BOOT::|npWith|
- BOOT::|optimizeFunctionDef| BOOT::PREPARSE-ECHO
- BOOT::|npCompMissing| VMLISP::LIBSTREAM-DIRNAME
- BOOT::ATENDOFUNIT BOOT::PARSEPRINT BOOT::|npAdd|
- BOOT::PREPARSE1 BOOT::|e02defSolve,fp|
- BOOT::|htpRadioButtonAlist| BOOT::MONITOR-DATA-COUNT
- BOOT::MONITOR-DATA-NAME BOOT::|htpDomainPvarSubstList|
- BOOT::MONITOR-DATA-SOURCEFILE BOOT::|profileTran|
- BOOT::MONITOR-DELETE BOOT::|pfSequenceToList|
- BOOT::MONITOR-DATA-MONITORP BOOT::|pfSequenceArgs|
- BOOT::|renamePatternVariables| BOOT::|pfSequence?|
- BOOT:|LispEval| BOOT::|pfNovalueExpr|
- BOOT::MONITOR-EXPOSEDP BOOT::|pfNovalue?|
- BOOT::|htpDomainVariableAlist| BOOT::|pfNotArg|
- BOOT::MONITOR-APROPOS BOOT::|pfNot?| BOOT::MONITOR-DATA-P
- BOOT::|pfOrRight| BOOT::|pfOrLeft| BOOT::MONITOR-LIBNAME
- BOOT::|pfOr?| BOOT::MONITOR-FILE BOOT::|pfAndRight|
- BOOT::|pfAndLeft| BOOT::|pfAnd?| BOOT::MONITOR-SPADFILE
- BOOT::|getDomainsInScope| BOOT::|pfWrong?|
- BOOT::MONITOR-PARSE BOOT::|pf0LocalItems|
- BOOT::MONITOR-DECR BOOT::|pfLocal?| BOOT::|pfNovalue|
- BOOT::|pf0FreeItems| BOOT::|npItem1| BOOT::|pfFree?|
- BOOT::|pfRestrictType| BOOT::MONITOR-INCR
- BOOT::|pfRestrictExpr| BOOT::|npLetQualified|
- BOOT::|isConstructorForm| BOOT::|pfRestrict?|
- BOOT::|library| BOOT::MONITOR-NRLIB BOOT::|pfDefinition?|
- BOOT::|unknownTypeError| BOOT::|pfAssignRhs|
- BOOT::|pf0AssignLhsItems| BOOT::|pfAssign?| BOOT::|quotify|
- BOOT::|pfDoBody| BOOT::|reportHashCacheStats|
- BOOT::MONITOR-DIRNAME BOOT::|pfDo?|
- BOOT::|mkHashCountAlist| BOOT::|pfSuchthatCond|
- BOOT::|displayCacheFrequency| BOOT::|pfSuchthat?|
- BOOT::MONITOR-CHECKPOINT BOOT::|pfWhileCond|
- BOOT::|pfWhile?| BOOT::|pfForinWhole|
- BOOT::|outputDomainConstructor| BOOT::|e02dffSolve,fmu|
- BOOT::|pf0ForinLhs| BOOT::|typeTimePrin|
- BOOT::|pfCheckMacroOut| BOOT::|isSomeDomainVariable|
- BOOT::|pfForin?| BOOT::|displayHashtable|
- BOOT::|pfCollect?| BOOT::|removeZeroOne| BOOT::|npEncAp|
- BOOT::|pf0LoopIterators| BOOT::|addBlanks|
- BOOT::|compHasFormat| BOOT::|loopIters2Sex|
- BOOT::|noBlankBeforeP| BOOT::|pfLoop?|
- BOOT::|stopTimingProcess| BOOT::|noBlankAfterP|
- BOOT::|?comp| BOOT::|pfExitExpr| BOOT::|pfExitCond|
- BOOT::|compileQuietly| BOOT::|sayLongOperation|
- BOOT::|isAlmostSimple,setAssignment| BOOT::|pfExit?|
- BOOT::|compileInteractive| BOOT::|say2PerLineThatFit|
- BOOT::?COMP BOOT::|npBracked| BOOT::|pfFromdomDomain|
- BOOT::|startTimingProcess| BOOT::|prEnv|
- BOOT::|pfFromdomWhat| BOOT::|operationLink| BOOT::|opTran|
- BOOT::|pfFromdom?| BOOT::|hasType,fn| BOOT::|pfPretendType|
- BOOT::|clearCategoryCache| BOOT::|pfTuple|
- BOOT::|pfPretendExpr| BOOT::|clearConstructorCache|
- BOOT::|qModemap| BOOT::|pfPretend?|
- BOOT::|splitListSayBrightly| BOOT::|formatModemap|
- BOOT::|pfCoercetoType| BOOT::|printEnv|
- BOOT::|pfCoercetoExpr| BOOT::|tabber| BOOT::|pfCoerceto?|
- BOOT::|decExitLevel| BOOT::|pfTaggedExpr|
- BOOT::|splitSayBrightly| BOOT::|pfTaggedTag|
- BOOT::|brightPrintRightJustify| BOOT::|pfTagged?|
- BOOT::|pfIfElse| BOOT::|splitSayBrightlyArgument|
- BOOT::DATABASE-ABBREVIATION BOOT::|pfIfThen|
- BOOT::|mkDomainConstructor| BOOT::|pfIfCond|
- BOOT::|brightPrint1| BOOT::SET-FILE-GETTER BOOT::|mkList|
- BOOT::|pfIf?| BOOT::|brightPrint| BOOT::|pf0TupleParts|
- BOOT::|pfTuple?| BOOT::DATABASE-SOURCEFILE
- BOOT::|minimalise| BOOT::|minimalise,min|
- BOOT::|pfLiteral?| BOOT::|mkDevaluate|
- BOOT::|minimalise,HashCheck| BOOT::|pfSymbolSymbol|
- BOOT::|numberOfEmptySlots| BOOT::|pfSymbol?|
- BOOT::|sayBrightlyLength1| BOOT::|hasOptArgs?|
- BOOT::|npFromdom1| BOOT::|pfSuchThat2Sex|
- BOOT::|CDRwithIncrement| BOOT::|npPush|
- BOOT::|segmentedMsgPreprocess| BOOT::|pfOp2Sex|
- BOOT::SHOWDATABASE BOOT::|pmDontQuote?| BOOT::|initCache|
- BOOT::|blankIndicator| BOOT::|pfDefinitionRhs|
- BOOT::|npEqKey| BOOT::|pf0DefinitionLhsItems|
- BOOT::|pfApplicationArg| BOOT::SQUEEZE
- BOOT::|rulePredicateTran| BOOT::|pfRuleRhs| BOOT::UNSQUEEZE
- BOOT::|npDotted| BOOT::|pfRuleLhsItems|
- BOOT::|constructor2ConstructorForm| BOOT::|npAngleBared|
- BOOT::|pfCollectBody| BOOT::DATABASE-SPARE
- BOOT::|pfCollectIterators| BOOT::|remHashEntriesWith0Count|
- BOOT::|float2Sex| BOOT::DATABASE-DEFAULTDOMAIN
- BOOT::|npListing| BOOT::|pfLiteralString|
- BOOT::DATABASE-NILADIC BOOT::|pfLeafToken|
- BOOT::DATABASE-CONSTRUCTORCATEGORY BOOT::|pfLiteralClass|
- BOOT::DATABASE-OBJECT BOOT::DATABASE-MODEMAPS
- BOOT::DATABASE-OPERATIONALIST BOOT::DATABASE-DEPENDENTS
- BOOT::DATABASE-USERS BOOT::DATABASE-PARENTS BOOT::|tokPosn|
- BOOT::|pileColumn| BOOT::|underDomainOf|
- BOOT::DATABASE-PREDICATES BOOT::|underDomainOf;|
- BOOT::|pileCforest| BOOT::DATABASE-ATTRIBUTES
- BOOT::|enPile| BOOT::|separatePiles|
- BOOT::DATABASE-DOCUMENTATION BOOT::|pilePlusComments|
- BOOT::|pilePlusComment| BOOT::|insertpile|
- BOOT::|lastTokPosn| BOOT::|firstTokPosn|
- BOOT::|pileComment| BOOT::|isValidType;|
- BOOT::|lnGlobalNum| BOOT::|lnLocalNum|
- BOOT::|pfSourcePositionlist| BOOT::|isPartialMode|
- BOOT::|pfSourcePositions|
- BOOT::|makeOldAxiomDispatchDomain| BOOT::|lnString|
- BOOT::DATABASE-ANCESTORS BOOT::|poNoPosition?|
- BOOT::|poImmediate?| BOOT::|poIsPos?| BOOT::|hashString|
- BOOT::DATABASE-CONSTRUCTOR BOOT::|pfPosn|
- BOOT::|isLegitimateRecordOrTaggedUnion|
- BOOT::|lnImmediate?| BOOT::|listOfDuplicates|
- BOOT::|pfPosImmediate?| BOOT::|isPolynomialMode|
- BOOT::|pfSourceToken| BOOT::|equiType| BOOT::|pfFirst|
- BOOT::|getUnderModeOf| FOAM::PROCESS-IMPORT-ENTRY
- BOOT::|deconstructT| BOOT::|attribute?| BOOT::TRARGPRINT
- BOOT::|makeLazyOldAxiomDispatchDomain| BOOT::|eqType|
- BOOT::DATABASE-P BOOT::LINE-ADVANCE-CHAR
- BOOT::DATABASE-COSIG BOOT::LINE-AT-END-P BOOT::TRBLANKS
- BOOT::MAKE-STRING-ADJUSTABLE BOOT::|sayMessage|
- BOOT::|dropPrefix| BOOT::TRMETA1 BOOT::|mkDatabasePred|
- BOOT::TRY-GET-TOKEN BOOT::TRMETA BOOT::|namestring|
- BOOT::|isFreeFunctionFromMmCond| BOOT::|isSharpVarWithNum|
- BOOT::|isFreeFunctionFromMm|
- BOOT::|mkAlistOfExplicitCategoryOps| BOOT::LINE-P
- BOOT::|mkAlistOfExplicitCategoryOps,atomizeOp|
- BOOT::|flattenSignatureList| BOOT::|collectAndDeleteAssoc|
- BOOT::|checkSplitBrace| BOOT::|getFirstArgTypeFromMm|
- BOOT::|checkSplitPunctuation| BOOT::|checkSplitOn|
- BOOT::|checkSplitBackslash| BOOT::STACK-POP
- BOOT::|checkAlphabetic| BOOT::|isDomainSubst|
- BOOT::UNDERSCORE BOOT::|collectComBlock|
- BOOT::|getDomainFromMm| BOOT::/MDEF BOOT::STACK-TOP
- BOOT::|formal2Pattern| BOOT::|finalizeDocumentation,hn|
- BOOT::STACK-P BOOT::LINE-NEXT-CHAR BOOT::REDUCTION-RULE
- BOOT::|checkExtractItemList|
- BOOT::|recordHeaderDocumentation| BOOT::|checkIeEgfun|
- BOOT::|appendOver| BOOT::|rebuild| BOOT::|checkInteger|
- BOOT::|spool| BOOT::|setOutputCharacters|
- BOOT::/VERSIONCHECK BOOT::INTERP-MAKE-DIRECTORY
- BOOT::CACHEKEYEDMSG BOOT::XDR-STREAM-HANDLE
- BOOT::|normalizeArgFileName| BOOT::|checkTrim,trim|
- BOOT::XDR-STREAM-P BOOT::|checkDocError| BOOT::|bootFind|
- BOOT::|checkTrim,wherePP| BOOT::|checkDecorateForHt|
- BOOT::XDR-STREAM-NAME BOOT::|checkRecordHash|
- BOOT::|checkIsValidType| BOOT::|normalizeTimeAndStringify|
- BOOT::SETLETPRINTFLAG BOOT::|checkGetParse|
- BOOT::|checkGetStringBeforeRightBrace|
- BOOT::|checkGetLispFunctionName| BOOT::MAKE-DIRECTORY
- BOOT::|checkLookForRightBrace|
- BOOT::|checkLookForLeftBrace| BOOT::|checkFixCommonProblem|
- BOOT::|checkArguments| BOOT::SHAREDITEMS BOOT::|checkTexht|
- BOOT::|isVowel| BOOT::|getOfCategoryArgument|
- BOOT::|checkAddPeriod| BOOT::|newMKINFILENAM|
- BOOT::|getFunctionSourceFile1| BOOT::|checkDecorate|
- BOOT::|pathname?| BOOT::|hasNoVowels| BOOT::|checkBalance|
- BOOT::|checkSayBracket| BOOT::|pfSequence2Sex|
- BOOT::|checkBeginEnd| BOOT::|pf2Sex1| BOOT::|checkIeEg|
- BOOT::|pfSequence2Sex0| BOOT::|checkDocError1|
- BOOT::|ruleLhsTran| BOOT::|patternVarsOf|
- BOOT::|checkAddMacros| BOOT::|pfLambdaTran|
- BOOT::|pfLambdaBody| BOOT::|checkSplit2Words|
- BOOT::|pfLambdaRets| BOOT::|checkAddSpaces|
- BOOT::|pfTypedType| BOOT::|newString2Words|
- BOOT::|pfCollectArgTran| BOOT::|checkGetArgs|
- BOOT::|pfTyped?| BOOT::|pfRhsRule2Sex|
- BOOT::|pfLhsRule2Sex| BOOT::|checkDocMessage|
- BOOT::|checkRemoveComments| BOOT::|pfRule2Sex|
- BOOT::|checkTrimCommented| BOOT::|pfLambda2Sex|
- BOOT::|pfDefinition2Sex| BOOT::|leftTrim|
- BOOT::|pfCollect2Sex| BOOT::|checkGetMargin|
- BOOT::|pfApplication2Sex| BOOT::|whoOwns|
- BOOT::|pfLiteral2Sex| BOOT::|pfWhereExpr|
- BOOT::|pf0WhereContext| BOOT::|pfIterate?|
- BOOT::|pfReturnExpr| BOOT::|pfReturn?| BOOT::|setOutStream|
- BOOT::|pfBreakFrom| BOOT::|pfBreak?| BOOT::|pfRule?|
- BOOT::DATABASE-CONSTRUCTORMODEMAP BOOT::|%key| BOOT::|ppos|
- BOOT::|porigin| BOOT::|pfLinePosn| BOOT::|pfCharPosn|
- BOOT::|pfImmediate?| BOOT::|pfNoPosition?| BOOT::|%pos|
- BOOT::|processPackage,setPackageCode| BOOT::|%fname|
- BOOT::|pfname| BOOT::|%origin| BOOT::|mkRepititionAssoc|
- BOOT::|%id| BOOT::|pkey| BOOT::|getCaps|
- BOOT::|constructorCategory| BOOT::|evalDomain|
- BOOT::|parseAtom| BOOT::|systemErrorHere|
- BOOT::|coerceMap2E| BOOT::|parseConstruct|
- BOOT::|parseTran,g| BOOT::|parseWhere| BOOT::|parseVCONS|
- BOOT::|parseSeq| BOOT::|transSeq| BOOT::|postError|
- BOOT::|parseSegment| BOOT::|parseReturn|
- BOOT::|parsePretend| BOOT::|parseType| BOOT::|RecordInner|
- BOOT::|parseTypeEvaluate| BOOT::|isRecord|
- BOOT::|parseMDEF| BOOT::|parseLETD| BOOT::|parseLET|
- BOOT::|transIs| BOOT::|CatEval| BOOT::|transUnCons|
- BOOT::|parseLeave| BOOT::|mkCategory,Prepare|
- BOOT::|parseJoin| BOOT::|parseJoin,fn| BOOT::|parseIsnt|
- BOOT::|parseBigelt| BOOT::|parseIs|
- BOOT::|DropImplementations| BOOT::|parseInBy|
- BOOT::|parseIn| BOOT::|FindFundAncs| BOOT::|parseHas|
- BOOT::|parseHas,mkand| BOOT::|TruthP| BOOT::|parseHas,fn|
- BOOT::|parseExit| BOOT::|isCategory| BOOT::|parseDEF|
- BOOT::|setDefOp| BOOT::|mkCategory,Prepare2|
- BOOT::|transIs1| BOOT::|isListConstructor|
- BOOT::|parseCategory| BOOT::|parseDropAssertions|
- BOOT::|parseAtSign| BOOT::|parseHasRhs| BOOT::|parseCoerce|
- BOOT::|getCategoryExtensionAlist0| BOOT::|parseColon|
- BOOT::|getCategoryExtensionAlist| BOOT::|sayMSG|
- BOOT::|parseDollarGreaterThan| BOOT::|squeeze1|
- BOOT::|squeezeList| BOOT::|parseGreaterThan|
- BOOT::|categoryParts,exportsOf|
- BOOT::|makeSimplePredicateOrNil| BOOT::|simpHasPred,eval|
- BOOT::|simpHasPred,simp| BOOT::|specialModeTran|
- BOOT::|compressHashTable| BOOT::|simpOrUnion|
- BOOT::|clearCategoryTable| BOOT::|transCategoryItem|
- BOOT::|parseCases| BOOT::TOKEN-PRINT BOOT::|getConstrCat|
- BOOT::LINE-CURRENT-SEGMENT
- BOOT::|mkCategoryExtensionAlistBasic| BOOT::STACK-CLEAR
- BOOT::|macrop| BOOT::|showCategoryTable|
- BOOT::|clearTempCategoryTable| BOOT::TOKEN-P
- BOOT::|addToCategoryTable|
- BOOT::|simpHasPred,simpDevaluate|
- BOOT::|mkCategoryExtensionAlist|
- BOOT::|updateCategoryTableForCategory|
- BOOT::|isFormalArgumentList| BOOT::|defaultingFunction|
- BOOT::|getOperationAlistFromLisplib|
- BOOT::|getConstructorAbbreviation|
- BOOT::|predicateBitIndex| BOOT::|encodeCatform|
- BOOT::|evalableConstructor2HtString,unquote|
- BOOT::|orderByContainment| BOOT::|stripOutNonDollarPreds|
- BOOT::|isHasDollarPred| BOOT::|transHasCode|
- BOOT::|removeAttributePredicates| BOOT::|getCatAncestors|
- BOOT::|makeCompactDirect1,fn| BOOT::|depthAssoc|
- BOOT::|depthAssocList| BOOT::|fromHeading|
- BOOT::|htAddHeading| BOOT::|infovec| BOOT::|dcData1|
- BOOT::|dbDoesOneOpHaveParameters?| BOOT::|ppTemplate|
- BOOT::|dbOuttran| BOOT::|bitsOf| BOOT::|mathform2HtString|
- BOOT::|conname2StringList| BOOT::|dcData|
- BOOT::|predicateBitIndexRemop| BOOT::|form2StringList|
- BOOT::|dbConform| BOOT::|dbMapping2StringList|
- BOOT::|htTab| BOOT::|orderBySubsumption| BOOT::|dcCats|
- BOOT::|dcCats1| BOOT::|getLookupFun|
- BOOT::|listOfCategoryEntries| BOOT::|niladicHack|
- BOOT::|dbGatherDataImplementation,fn| BOOT::|NRTcatCompare|
- BOOT::|dbGatherDataImplementation,gn| BOOT::|template|
- BOOT::|dcAtts| BOOT::|dcSlots| BOOT::|dcOpTable|
- BOOT::|getConstructorArgs| BOOT::|dbNewConname|
- BOOT::|escapeString| BOOT::|nodeSize| BOOT::|fortexp0|
- BOOT::|vectorSize| BOOT::|myLastAtom|
- BOOT::|isDefaultPackageForm?| BOOT::|numberOfNodes|
- BOOT::|dcOps| BOOT::|removeAttributePredicates,fn|
- BOOT::|removeAttributePredicates,fnl|
- BOOT::DATABASE-CONSTRUCTORFORM BOOT::|makeCompactDirect|
- BOOT::|htSayTuple| BOOT::|dcPreds| BOOT::|htSayArgument|
- BOOT::|makeDomainTemplate| BOOT::|hashTable2Alist|
- BOOT::|stuffDomainSlots| BOOT::|getExportCategory|
- BOOT::|koCatOps1| BOOT::|simplifyAttributeAlist|
- BOOT::|hasPatternVar| BOOT::|dcAll|
- BOOT::|findSubstitutionOrder?| BOOT::|isInstantiated|
- BOOT::|modemap2SigConds| BOOT::|getSubstCandidates|
- BOOT::|htSayExplicitExports|
- BOOT::|fortFormatCharacterTypes| BOOT::|opPageFastPath|
- BOOT::|fortFormatCharacterTypes,mkParameterList2|
- BOOT::|exp2FortOptimizeCS1,popCsStacks|
- BOOT::|kFormatSlotDomain,fn|
- BOOT::|fortFormatTypes,unravel| BOOT::|formatSlotDomain|
- BOOT::|getSubstSignature| BOOT::|getfortexp1|
- BOOT::|fortran2Lines1| BOOT::|koOps,trim|
- BOOT::|isPatternVar| BOOT::|dispfortexp1|
- BOOT::|displayBreakIntoAnds| VMLISP::LIBRARY-FILE
- VMLISP::GET-DIRECTORY-LIST VMLISP::PROBE-NAME
- VMLISP::SPAD-FIXED-ARG VMLISP::LIBSTREAM-INDEXSTREAM
- VMLISP::LIBSTREAM-INDEXTABLE VMLISP::LIBSTREAM-MODE
- VMLISP::GETINDEXTABLE VMLISP::GET-INDEX-TABLE-FROM-STREAM
- VMLISP::LIBSTREAM-P BOOT::|NRTassocIndexAdd|
- BOOT::|optDeltaEntry,quoteSelector| BOOT::|NRToptimizeHas|
- BOOT::|listOfBoundVars| BOOT::|slot1Filter,fn|
- BOOT::|reverseCondlist| BOOT::|c05pbfSolve,fb|
- BOOT::|genDeltaSig| BOOT::|c05pbfSolve,fa|
- BOOT::|c05nbfSolve,fb|
- BOOT::|NRTsubstDelta,replaceSlotTypes|
- BOOT::|c05nbfSolve,fa| BOOT::|slot1Filter|
- BOOT::|NRTsubstDelta| BOOT::|c06ebfSolve,f|
- BOOT::|catList2catPackageList,fn| BOOT::|addConsDB|
- BOOT::|changeDirectoryInSlot1,fn|
- BOOT::|changeDirectoryInSlot1,sigloc|
- BOOT::|NRTreplaceAllLocalReferences| BOOT::|mkSlot1sublis|
- BOOT::|NRTputInLocalReferences| BOOT::|NRTputInHead|
- BOOT::|NRTcheckVector| BOOT::|NRTmakeSlot1|
- BOOT::|NRTisExported?| BOOT::|makePredicateBitVector|
- BOOT::|catList2catPackageList| BOOT::|c06eafSolve,f|
- BOOT::|NRTgetAddForm| BOOT::|c06frfSolve,h|
- BOOT::|NRTaddInner| BOOT::|c06ekfSolve,f|
- BOOT::|updateSlot1DataBase| BOOT::|genDeltaSpecialSig|
- BOOT::|c06gbfSolve,f| BOOT::|newHasTest,evalCond|
- BOOT::|c06fufSolve,hn| BOOT::|c06gcfSolve,f|
- BOOT::|c06fufSolve,hm| BOOT::|c06fpfSolve,h|
- BOOT::|c06fqfSolve,h| BOOT::|c06ecfSolve,f| BOOT:|length1?|
- BOOT:|ListRemoveDuplicatesQ| BOOT:|ListNReverse|
- BOOT::|d01gbfSolve,f| BOOT:|TableKeys|
- BOOT::|ncParseAndInterpretString| BOOT::|pfPrintSrcLines|
- BOOT::TERMINATOR VMLISP::MAKE-BVEC
- BOOT::|exp2FortOptimizeCS| BOOT::|exp2FortOptimizeCS1|
- BOOT::|expression2Fortran| BOOT::|fortranCleanUp|
- BOOT::|exp2FortOptimize| BOOT::|fortPre| BOOT::|incRgen|
- BOOT::|segment| BOOT::|exp2Fort1| FOAM:|printNewLine|
- FOAM:|formatDFloat| FOAM:|formatSFloat| FOAM:|formatBInt|
- BOOT::|npNull| FOAM:|formatSInt| BOOT::|isFloat|
- BOOT::|fortExpSize| BOOT::|parseAndEval1|
- BOOT::|printStats| BOOT::|mkParameterList|
- BOOT::|unStackWarning| BOOT::|fortFormatIntrinsics|
- BOOT::?M BOOT::|displayLines| BOOT::|?m| BOOT::|addCommas|
- BOOT::|unErrorRef| BOOT::|fortran2Lines| BOOT::|uppretend|
- BOOT::|typeOfType| BOOT::|checkLines| BOOT::|uptypeOf|
- BOOT::|statement2Fortran| BOOT::|displayLines1|
- BOOT::|upQUOTE| BOOT::|dispStatement|
- BOOT::|makeCommonEnvironment,interLocalE| BOOT::|upSEQ|
- BOOT::|mkMat| BOOT::|makeCommonEnvironment,interC|
- BOOT::|fortSize,elen| BOOT::|quote2Wrapped|
- BOOT::|deltaContour,eliminateDuplicatePropertyLists|
- BOOT::|fortSize| BOOT::|checkType| BOOT::|interpOnlyREPEAT|
- BOOT::|upREPEAT1| BOOT::|old2NewModemaps| BOOT::|upREPEAT0|
- BOOT::|displayModemaps| BOOT::|uplocal|
- BOOT::|fortFormatElseIf| BOOT::|upfree|
- BOOT::|indentFortLevel| FOAM:|Halt| BOOT::|upREPEAT|
- BOOT::|?modemaps| BOOT::|fortFormatIf| BOOT::|upDEF|
- BOOT::|upreturn| BOOT::|uperror| BOOT::|what|
- BOOT::?MODEMAPS BOOT::|whatSpad2Cmd| BOOT::|stackAndThrow|
- BOOT::|makeCommonEnvironment,interE| BOOT::|constructor|
- BOOT::|alqlGetParams| BOOT::|makeNonAtomic|
- BOOT::|alqlGetOrigin| BOOT::|alqlGetKindString|
- BOOT::|npboot| BOOT::|compAndTrace| VMLISP::SIMPLE-ARGLIST
- BOOT::|string2BootTree| VMLISP::REMOVE-FLUIDS
- BOOT::|f04qafSolve,f| BOOT::|getBrowseDatabase|
- BOOT::|wrapSEQExit| BOOT::|compileSpadLispCmd|
- BOOT::|incExitLevel| BOOT::ASEC BOOT::|mkErrorExpr,bracket|
- BOOT::|displayProperties,sayFunctionDeps| BOOT::ACOT
- BOOT::|displayMacro| VMLISP::QUOTESOF BOOT::|genDeltaEntry|
- BOOT::|displayParserMacro| VMLISP::DEQUOTE
- BOOT::|compilerMessage| BOOT::MANEXP
- BOOT::|asharpConstructorName?| VMLISP::ISQUOTEDP
- BOOT::|f04mcfSolve,gj| BOOT::|f04arfSolve,h| VMLISP::VARP
- BOOT::|f04mcfSolve,fd| BOOT::|dbpHasDefaultCategory?|
- BOOT::|stackMessage| BOOT::|dbAddChainDomain|
- BOOT::|listOfIdentifiersIn| BOOT::|knownInfo|
- BOOT::|outerProduct| BOOT::|f04jgfSolve,h|
- BOOT::|helpSpad2Cmd| BOOT::|f04mcfSolve,fal|
- BOOT::|sayAsManyPerLineAsPossible| BOOT::|extractHasArgs|
- BOOT::|read| BOOT::|readSpad2Cmd| BOOT::|displayMacros|
- BOOT::|warnLiteral| BOOT::|getConstructorModemap|
- BOOT::GCOPY BOOT::|koAttrs,fn| BOOT::|displayOperations|
- BOOT::|libConstructorSig| BOOT::|f04asfSolve,h|
- BOOT::|libConstructorSig,fn| BOOT::|npProcessSynonym|
- BOOT::|listOfSharpVars| BOOT::|compileAsharpLispCmd|
- BOOT::|isAlmostSimple| BOOT::|libdbTrim|
- BOOT::|isAlmostSimple,fn| BOOT::|isFunctor|
- BOOT::|stripLisp| BOOT::|parentsOfForm|
- BOOT::|isSideEffectFree| BOOT::|ltrace| BOOT::|dbMkForm|
- BOOT::|trace| BOOT::|compileAsharpCmd| BOOT::MSORT
- BOOT::|displayProplist,fn| BOOT::|removeEnv| BOOT::|load|
- BOOT::|loadSpad2Cmd| BOOT::|dbReadLines| BOOT::?VALUE
- BOOT::|help| BOOT::|?value| BOOT::|trimComments|
- BOOT::|f04atfSolve,h| BOOT::|f04fafSolve,h|
- BOOT::|spreadGlossText| BOOT::?PROPERTIES
- BOOT::|asyExtractAbbreviation| BOOT::|getGlossLines|
- BOOT::|?properties| BOOT::|asyTypeUnit|
- BOOT::|getParentsForDomain| BOOT::|f04fafSolve,g|
- BOOT::|prModemaps| BOOT::|asyTypeItem|
- BOOT::|f04fafSolve,f| BOOT::|importFromFrame|
- BOOT::|decExitLevel,removeExit0|
- BOOT::|closeInterpreterFrame| BOOT::|f04mbfSolve,f|
- BOOT::|tokTran| BOOT::?MODE BOOT::|parseSystemCmd|
- BOOT::|?mode| BOOT::|dumbTokenize| BOOT::|edit|
- BOOT::|editSpad2Cmd| BOOT::|getDefaultPackageClients|
- BOOT::|displayOperationsFromLisplib| BOOT::|say2PerLine|
- BOOT::|getArgumentConstructors,fn|
- BOOT::|getArgumentConstructors,gn| BOOT::|display|
- BOOT::|displaySpad2Cmd| BOOT::|frameEnvironment|
- BOOT::|getArgumentConstructors| BOOT::|buildLibAttrs|
- BOOT::|buildLibOps| BOOT::|splitIntoOptionBlocks|
- BOOT::|writedb| BOOT::|getFirstWord| BOOT::|f07aefSolve,fp|
- BOOT::|isSharpVar| BOOT::HAS_SHARP_VAR
- BOOT::|dbHasExamplePage| BOOT::|isExistingFile|
- BOOT::|mkHasArgsPred| BOOT::|lefts| BOOT::|findEqualFun|
- BOOT::|dbFromConstructor?| BOOT::|f01mafSolve,f|
- BOOT::|dbShowKind| BOOT::|unAbbreviateIfNecessary|
- BOOT:|DeepCopy| BOOT::|evalDomainOpPred,convertCatArg|
- BOOT::|dbOpsForm| BOOT::|form2Fence| BOOT::|devaluateList|
- BOOT::|dbConstructorDoc,fn| FOAM:|fiStrHash|
- BOOT::|dbGetInputString| BOOT::|pmTransFilter|
- BOOT::|dbExtractUnderlyingDomain| FOAM:|fiGetDebugger|
- BOOT::|isValidType| BOOT:|ByteFileReadLine| BOOT::RENAME
- BOOT::|isExposedConstructor| FOAM:|fiSetDebugVar|
- BOOT:|InputStream?| BOOT::|ncParseFromString|
- BOOT:|OutputStream?| BOOT:|StreamSize|
- BOOT:|StreamGetPosition| BOOT:|StreamEnd?|
- BOOT:|StreamClose| BOOT::|dbConstructorDoc,gn|
- BOOT::|digits2Names| BOOT::|dbCompositeWithMap|
- BOOT::|extractFileNameFromPath| BOOT:|ToPathname|
- BOOT::IDENT-CHAR-LIT BOOT::IS-CONSOLE-NOT-XEDIT
- BOOT::|dbAddChain| BOOT::MESSAGEPRINT
- BOOT:|PathnameDirectory| BOOT::MESSAGEPRINT-2
- BOOT::|kFormatSlotDomain| BOOT:|PathnameName|
- BOOT::MESSAGEPRINT-1 BOOT::|devaluate| BOOT:|PathnameType|
- BOOT::|simpCatPredicate| BOOT:|PathnameString|
- BOOT::|dbInfovec| BOOT:|PathnameAbsolute?|
- BOOT:|PathnameWithoutType| BOOT::|getImports|
- BOOT:|PathnameWithoutDirectory| BOOT::|saySpadMsg|
- BOOT::|mkConArgSublis| BOOT:|PathnameToUsualCase|
- BOOT:|PathnameDirectoryOfDirectoryPathname| BOOT::|sayTeX|
- BOOT::|getUsersOfConstructor| BOOT:|Bit?| BOOT::EQUABLE
- BOOT::|makeTemplate| BOOT::|dbShowConsKinds|
- BOOT::|makeOpDirect| BOOT:|Vector?| BOOT::|bcConTable|
- BOOT::|makeOpDirect,fn| BOOT::|mkUniquePred|
- BOOT::PARTCODET BOOT::|bcAbbTable| BOOT::|putPredHash|
- BOOT::|bcNameConTable| BOOT::|NRTinnerGetLocalIndex|
- BOOT::|breakIntoLines| BOOT::|dbConstructorKind|
- BOOT::BLANKP BOOT::|setLoadTimeQ| BOOT:|CharDigit?|
- BOOT::|dbConstructorDoc,hn| BOOT::|setLoadTime|
- BOOT::NONBLANKLOC BOOT::|extendVectorSize|
- BOOT::|markUnique| BOOT:|Cset| BOOT::INDENT-POS
- BOOT::|addConsDB,min| BOOT::NEXT-TAB-LOC
- BOOT:|CsetComplement| BOOT::|measureCommon|
- BOOT:|CsetString| BOOT::|getDependentsOfConstructor|
- BOOT::|htMakeSaturnFilterPage| BOOT::|writeSaturnLines|
- BOOT::|hasIdent| BOOT::|addConsDB,HashCheck|
- BOOT::|parseNoMacroFromString| BOOT::|mapConsDB|
- BOOT::|pf2Sex| BOOT::|squeezeConsDB| BOOT::|StreamNull|
- BOOT::|squeezeConsDB,fn| BOOT::|mkBold| BOOT::|incString|
- BOOT::|postSignature| BOOT::|killColons| BOOT:|ToString|
- BOOT::|e02dffSolve,flam| BOOT::|removeSuperfluousMapping|
- BOOT:|StringImage| BOOT::|dbShowConstructorLines|
- BOOT:|String?| BOOT::|postAtom| BOOT::|dbName|
- BOOT::|makeSpadConstant| BOOT::|postType|
- BOOT::|childrenOf| BOOT::|htBcLispLinks|
- BOOT::|typeCheckInputAreas| BOOT::|kisValidType|
- BOOT::|kCheckArgumentNumbers| BOOT:|StringUpperCase|
- BOOT:|StringLowerCase| BOOT::|topicCode|
- BOOT::|htMakePage1| BOOT::|string2OpAlist|
- BOOT::|htProcessDoitButton| BOOT::|blankLine?|
- BOOT::|htProcessDoneButton| BOOT::|e02defSolve,fmu|
- BOOT::|topics| BOOT::|htProcessBcButtons|
- BOOT::|topLevelInterpEval| BOOT::|tdPrint|
- BOOT::|htProcessToggleButtons|
- BOOT::|htProcessDomainConditions|
- BOOT::|getConstructorSignature| BOOT::|getDefaultProps|
- BOOT::|htInputStrings| BOOT::GET-A-LINE
- BOOT::|getConstructorDocumentation|
- BOOT::|htBcRadioButtons| BOOT::KILL-COMMENTS
- BOOT::|topicCode,fn| BOOT::|htRadioButtons|
- BOOT::|listOfTopics| BOOT::|htLispMemoLinks|
- BOOT::PRINT-RULE BOOT::|code2Classes| BOOT::SET-PREFIX
- BOOT::PRINT-FLUIDS BOOT::|td| BOOT::|unabbrev|
- BOOT::|prTriple| BOOT::|htEndMenu| BOOT::GET-META-TOKEN
- BOOT::|hasNewInfoAlist| BOOT::|addTraceItem|
- BOOT::GET-BSTRING-TOKEN BOOT::|untraceAllDomainLocalOps|
- BOOT::|bright| BOOT::GET-STRING-TOKEN
- BOOT::|formatUnabbreviated| BOOT::GET-IDENTIFIER-TOKEN
- BOOT::BVEC-NOT BOOT::TOKEN-LOOKAHEAD-TYPE
- BOOT::|orderBySlotNumber| BOOT::|traceSpad2Cmd|
- BOOT::|compArgumentConditions| BOOT::|e02defSolve,flam|
- BOOT::|trace1| BOOT::LINE-PRINT BOOT::|saveMapSig|
- BOOT::LINE-PAST-END-P BOOT::|untrace|
- BOOT::|stripOffArgumentConditions|
- BOOT::DATABASE-CONSTRUCTORKIND BOOT::SPAD_ERROR_LOC
- BOOT::|getTraceOptions| BOOT::|transTraceItem|
- BOOT::BOOT-PARSE-1 BOOT::|genSearchTran|
- BOOT::REDUCTION-VALUE BOOT::|removeSurroundingStars|
- BOOT::|getTraceOption| BOOT::|checkFilter| BOOT::PREPARSE
- BOOT::|getMapSubNames| BOOT::|getPreviousMapSubNames|
- BOOT::|coerceSpadArgs2E| BOOT::|clear|
- BOOT::|whatConstructors| BOOT::|stupidIsSpadFunction|
- BOOT::|sayBrightlyLength| BOOT::|stackTraceOptionError|
- BOOT::GET-BOOT-TOKEN BOOT::|reportOpsFromUnitDirectly|
- BOOT::|coerceSpadFunValue2E| BOOT::|searchCount|
- BOOT::GET-SPECIAL-TOKEN BOOT::|domainToGenvar|
- BOOT::|searchDropUnexposedLines| BOOT::GET-SPADSTRING-TOKEN
- BOOT::|compileAsharpArchiveCmd| BOOT::|genDomainTraceName|
- BOOT::GET-NUMBER-TOKEN BOOT::GET-ARGUMENT-DESIGNATOR-TOKEN
- BOOT::|spadReply,printName| BOOT::|abbreviations|
- BOOT::|getTraceOption,hn| BOOT::BOOT-TOKEN-LOOKAHEAD-TYPE
- BOOT::|changeToNamedInterpreterFrame|
- BOOT::|removeTracedMapSigs| BOOT::|findFrameInRing|
- BOOT::|isListOfIdentifiers| BOOT::|string2Constructor|
- BOOT::|isListOfIdentifiersOrStrings| BOOT::|dbString2Words|
- BOOT::|conLowerCaseConTran| BOOT::|emptyInterpreterFrame|
- BOOT::|string2Words| BOOT::|whatCommands|
- BOOT::BUMPERRORCOUNT BOOT::|commandsForUserLevel|
- BOOT::MAKE-ADJUSTABLE-STRING BOOT::|dnForm| BOOT::|pp2Cols|
- BOOT::|dnForm,negate| BOOT::|dbGetCommentOrigin|
- BOOT::|whatSpad2Cmd,fixpat| BOOT::DEF-PROCESS
- BOOT::|synonymsForUserLevel| BOOT::DEF-RENAME
- BOOT::|postTransform|
- BOOT::|processSynonymLine,removeKeyFromLine|
- BOOT::|pmPreparse,hn| BOOT::|new2OldLisp|
- BOOT::|processSynonymLine| BOOT::PRINT-PACKAGE
- BOOT::|printSynonyms| BOOT::INITIALIZE-PREPARSE
- BOOT::|clearParserMacro|
- BOOT::|dbScreenForDefaultFunctions| BOOT::S-PROCESS
- BOOT::|newHelpSpad2Cmd| BOOT::|dbChooseOperandName|
- BOOT::|zsystemDevelopmentSpad2Cmd| BOOT::|parseFromString|
- BOOT::|checkPmParse,fn| BOOT::|dbRead|
- BOOT::|string2SpadTree| BOOT::|checkPmParse| SYSTEM:PNAME
- BOOT::|htCopyProplist| BOOT::|pathnameTypeId|
- BOOT::|capitalize| BOOT::|htSayValue|
- BOOT::|clearCmdExcept| BOOT::|getSubstSigIfPossible|
- BOOT::|workfilesSpad2Cmd| BOOT::|isIntegerString|
- BOOT::|cd| BOOT::|dbGetExpandedOpAlist|
- BOOT::|dbAddDocTable| BOOT::|zsystemdevelopment|
- BOOT::|getConstructorForm| BOOT::|workfiles|
- BOOT::|originsInOrder| BOOT::|getInfoAlist|
- BOOT::|parentsOf| BOOT::|listOrVectorElementMode|
- BOOT::|zeroOneConvertAlist| BOOT::|dbInfoSig|
- BOOT::|numberize| BOOT::|hasNewInfoText|
- BOOT::|splitConTable| BOOT::|dbGetDocTable,gn|
- BOOT::|string2Integer| BOOT::|recordFrame|
- BOOT::|issueHTSaturn| BOOT::|kTestPred|
- BOOT::|segmentKeyedMsg| BOOT::|htpPageDescription|
- BOOT::|dbDocTable| BOOT::|saturnTran| BOOT::|bcUnixTable|
- BOOT::|mkTabularItem| BOOT::|printAsTeX|
- BOOT::|isAsharpFileName?| BOOT::|isMenuItemStyle?|
- BOOT::|saturnTranText| BOOT::|bcError|
- BOOT::|transOnlyOption| BOOT::|kPageContextMenu|
- BOOT::|bcString2WordList| BOOT::|unTab1|
- BOOT::|shortenForPrinting| BOOT::|getBpiNameIfTracedMap|
- BOOT::|recordAndPrintTest| BOOT::|mkTabularItem,fn|
- BOOT::|PullAndExecuteSpadSystemCommand| BOOT::|htNewPage|
- BOOT::|htpName| BOOT::|prTraceNames,fn|
- BOOT::|htMakePageSaturn| BOOT::|e02zafSolve,flam|
- BOOT::|isCapitalWord| BOOT::|zagSuper| BOOT::|height|
- BOOT::|zagSub| BOOT::|inputPrompt|
- BOOT::|flattenOperationAlist| BOOT::|variableNumber|
- BOOT::|spadTrace,g| BOOT::|mkPredList,fn|
- BOOT::|isTraceGensym| BOOT::|htPopSaturn|
- BOOT::|htMakePageStandard| BOOT::|undo| BOOT::|dbKind|
- BOOT::|undoCount| BOOT::|stringer| BOOT::|outputTranIf|
- BOOT::|htInitPageNoHeading| BOOT::|undoLocalModemapHack|
- BOOT::|saturnHasExamplePage| BOOT::|reportUndo| BOOT::|iht|
- BOOT::|bcIssueHt| BOOT::|bcConform1| BOOT::|keyp|
- BOOT::|bcConform1,hd| BOOT::|binomialWidth|
- BOOT::|htSaySourceFile| BOOT::|basicStringize|
- BOOT::|mapStringize| BOOT::|binomialSuper|
- BOOT::|bcConform1,mapping|
- BOOT::|outputTranMatrix,outtranRow|
- BOOT::PLAIN-PRINT-FORMAT-STRING BOOT::|bcConform1,tuple|
- BOOT::|binomialSub| BOOT::|vConcatWidth| BOOTTRAN::BOOTTOCL
- BOOT::|bcConform1,tl| BOOT::|deMatrix| BOOT::TRANSLIST
- BOOT::|sumWidthA| BOOT::TRANSLATE BOOT::|htSayItalics|
- BOOT::|dbGetDocTable,hn| BOOT::|absym|
- BOOT::|dbEvalableConstructor?| BOOT::|getCallBack|
- BOOT::|texFormat1| BOOT::|unTab|
- BOOT::RETRANSLATE-DIRECTORY BOOT::|kPageContextMenuSaturn|
- BOOT::|maPrin| BOOT::RETRANSLATE-FILE-IF-NECESSARY
- BOOT::|saturnExampleLink| BOOT::|explainLinear|
- BOOT::RECOMPILE-ALL-LIBS BOOT::|htSayCold|
- BOOT::RECOMPILE-LIB-DIRECTORY
- BOOT::RECOMPILE-NRLIB-IF-NECESSARY BOOT::|writeSaturnTable|
- BOOT::|maprinRows| BOOT::RECOMPILE-ALL-FILES
- BOOT::|writeSaturn| BOOT::|maprinChk|
- BOOT::|writeSaturnPrint| BOOT::RECOMPILE-ALL-ALGEBRA-FILES
- BOOT::|bcConform1,say| BOOT::|escapeSpecialIds|
- BOOT::|vConcatSub| BOOT::LOAD-DIRECTORY
- BOOT::|postDoubleSharp| BOOT::|sumoverlist|
- BOOT::|htProcessBcStrings| BOOT::|matSuperList|
- BOOT::|superSubWidth| BOOT::CHAPTER-NAME BOOT::|isQuotient|
- BOOT::|matSubList| BOOT::|superSubSuper|
- BOOT::|isRationalNumber| BOOT::|matLSum|
- BOOT::|superSubSub| BOOT::BLANKCHARP
- BOOT::SPADTAGS-FROM-FILE BOOT::|matLSum2|
- BOOT::OUR-WRITE-DATE BOOT::LIFT-NRLIB-NAME
- BOOT::RECOMPILE-FILE-IF-NECESSARY BOOT::|suScWidth|
- BOOT::|bcLinearSolveMatrixInhomo,f| BOOT::LIBCHECK
- BOOT::|bcLinearExtractMatrix| BOOT::|printMap|
- BOOT::|isInitialMap| BOOT::SPAD-CLEAR-INPUT
- BOOT::|bcString2HyString|
- BOOT::|NeedAtLeastOneFunctionInThisFile| BOOT::|pfSequence|
- BOOT::|npPileBracketed| BOOT::|npAnyNo| BOOT::|bcOptional|
- VMLISP::EQUABLE VMLISP::*LAM BOOT::|subSub| VMLISP::RCQEXP
- BOOT::|flattenOps| BOOT::|npInfGeneric| BOOT::|slashWidth|
- BOOT::|slashSuper| VMLISP::COMPILE1 BOOT::|slashSub|
- BOOT::|pfPile| BOOT::|npParened| BOOT::BVEC-COPY
- BOOT::|letWidth| VMLISP::FLAT-BV-LIST BOOT::|sortCarString|
- BOOT::|pfAppend| VMLISP::PLIST2ALIST BOOT::|pfFix|
- BOOT::|outputConstructTran| BOOT::|pfTyping|
- BOOT::|outputTranSEQ| BOOT::|outputTranRepeat|
- BOOT::|outputTranReduce| BOOT::|outputTranCollect|
- BOOT::|outputMapTran| BOOT::|npSemiListing|
- BOOT::|pfExport| BOOT::|pfLocal|
- BOOT::|optSEQ,getRidOfTemps| BOOT::|optSPADCALL|
- BOOT::|pfFree| BOOT::|optXLAMCond| BOOT::|optCONDtail|
- BOOT::|optPredicateIfTrue| BOOT::|optCons| BOOT::|optSEQ|
- BOOT::|pfBreak| BOOT::|optSEQ,tryToRemoveSEQ|
- BOOT::|optSEQ,SEQToCOND| BOOT::|optimize,opt|
- BOOT::|optCond| BOOT::|pfReturnNoName| BOOT::|optMkRecord|
- BOOT::|npListAndRecover| BOOT::|optCatch| BOOT::|npTuple|
- BOOT::|pf0SequenceArgs| BOOT::|compileTimeBindingOf|
- BOOT::|optimizeFunctionDef,removeTopLevelCatch|
- BOOT::|optEQ| BOOT::|optLESSP| BOOT::|pfIterate|
- BOOT::|opt-| BOOT::|optQSMINUS| BOOT::|pfLoop1|
- BOOT::|optMINUS| BOOT::|optSuchthat| BOOT::|optRECORDCOPY|
- BOOT::|optSETRECORDELT| BOOT::|npParse|
- BOOT::|timedEVALFUN| BOOT::|pfDocument|
- BOOT::|updateTimedName| BOOT::|pfTweakIf|
- BOOT::|timedOptimization| BOOT::|pfCheckItOut|
- BOOT::|timedAlgebraEvaluation| BOOT::|pushTimedName|
- BOOT::|significantStat| BOOT::|printNamedStats|
- BOOT::|htpDestroyPage| BOOT::|splitIntoBlocksOf200|
- BOOT::|incIgen| BOOT::|e02dafSolve,flam|
- BOOT::|e04nafSolve,fe| BOOT::|str2Tex|
- BOOT::|e04nafSolve,fd| BOOT::|wrap| BOOT::|e04nafSolve,fc|
- BOOT::|e04ycfSolve,fa| BOOT::|str2Outform|
- BOOT::|parse2Outform| BOOT::|e04nafSolve,fj|
- BOOT::|e04nafSolve,fg| BOOT::|e04dgfSolve,fb|
- BOOT::|e04mbfSolve,fg| BOOT::|evalLoopIter|
- BOOT::|formatUnabbreviatedTuple| BOOT::|e04mbfSolve,fe|
- BOOT::|length2?| BOOT::|Identity| BOOT::|upADEF|
- BOOT::|bool| BOOT::|e04mbfSolve,fd| BOOT::|orderList|
- BOOT::|e04mbfSolve,fc| BOOT::|upLoopIters| BOOT::NMSORT
- BOOT::|pr| BOOT::|e04fdfSolve,fb| BOOT::|interpIter|
- BOOT::|functionp| BOOT::|quoteCatOp| BOOT::|e04fdfSolve,fa|
- BOOT::|isLetter| BOOT::|mkNestedElts| BOOT::|charRangeTest|
- BOOT::|instantiate| BOOT::|isUpperCaseLetter|
- BOOT::|e04gcfSolve,fb| BOOT::|flattenSexpr|
- BOOT::|e04gcfSolve,fa| BOOT::|isStreamCollect|
- BOOT::|removeZeroOneDestructively| BOOT::|StringToCompStr|
- BOOT::|boolODDP| BOOT::|rightTrim|
- BOOT::|dropLeadingBlanks| BOOT::|getDomainByteVector|
- BOOT::|interpOnlyCOLLECT| BOOT::|e04jafSolve,fc|
- BOOT::|upCOLLECT| BOOT::|upAlgExtension|
- BOOT::|e04jafSolve,fb| BOOT::|eq2AlgExtension|
- BOOT::|e04jafSolve,fa| BOOT::|clearCmdParts|
- BOOT::|upCOLLECT0| BOOT::|loadLib| BOOT::|upCOLLECT1|
- BOOT::|upand| BOOT::|upDeclare| BOOT:|pp|
- BOOT::|f01rdfSolve,fz| BOOT::|mkZipCode| BOOT:ATOM2STRING
- BOOT::|orderCatAnc| BOOT::|f01mcfSolve,g|
- BOOT::|isOkInterpMode| BOOT::|f01mcfSolve,f|
- BOOT::|mkAndApplyPredicates| BOOT:MATCH-STRING
- BOOT::|upCOERCE| BOOT::|upStreamIters| BOOT::|upconstruct|
- BOOT::|upTARGET| BOOT::|falseFun| BOOT::|upLET|
- BOOT::|closeOldAxiomFunctor| BOOT::|f01refSolve,fz|
- BOOT::|upLETWithPatternOnLhs| BOOT::|isTupleForm|
- BOOT::|f01qefSolve,fz| BOOT::|e02zafSolve,fxy|
- BOOT::|shoeStrings| BOOT::|removeConstruct| BOOT:|break|
- BOOT::|shoeIntern| BOOT::|isLocalPred|
- BOOT::|shoeInternFile| BOOT::|upequation|
- BOOT::|SpadInterpretFile| BOOT::|intInterpretPform|
- BOOT::|altSeteltable| BOOT::|packageTran|
- BOOT::|isHomogeneous| BOOT::|zeroOneTran|
- BOOT::|intProcessSynonyms| BOOT::|upbreak|
- BOOT::|f01brfSolve,f| BOOT::|intnplisp| BOOT::|upDollar|
- BOOT::|nplisp| BOOT::|setCurrentLine|
- BOOT::|f01qdfSolve,fz| BOOT::|copyHack| BOOT::|copyHack,fn|
- BOOT:ADJCURMAXINDEX BOOT::|upTuple| BOOT::|ncloopParse|
- BOOT::|ncloopIncFileName| BOOT::|phBegin|
- BOOT::|ncloopEscaped| BOOT::|upiterate| BOOT::|upIF|
- BOOT::|upisnt| BOOT::|upisAndIsnt| BOOT::|phInterpret|
- BOOT::|isHomogeneousArgs| BOOT:LASTATOM BOOT::|uphas|
- BOOT::|phMacro| BOOT::|macroExpanded| BOOT::|upis|
- BOOT::|ncConversationPhase,wrapup| BOOT:CONSOLEINPUTP
- BOOT::|upwhere| BOOT::|serverReadLine|
- BOOT::|ncloopPrintLines| BOOT::|mkLineList|
- BOOT::|nonBlank| BOOT:|MakeSymbol| BOOT::|intloopEchoParse|
- BOOT::|incBiteOff| BOOT::|SkipEnd?| BOOT::|incFileName|
- BOOT::|Else?| BOOT::|Elseif?| BOOT::|If?|
- BOOT::|inclmsgNoSuchFile| BOOT::|inclmsgPrematureFin|
- BOOT::|incFileInput| BOOT::|Top?|
- BOOT::|inclmsgPrematureEOF| BOOT::|SkipPart?|
- BOOT::|KeepPart?| BOOT:COMP BOOT:GETGENSYM
- BOOT::|incNConsoles| BOOT::|Skipping?| BOOT::|incClassify|
- BOOT::EXPAND-TABS BOOT::|incCommand?| BOOT::|incRenumber|
- BOOT::|incFile| BOOT::|incPos|
- BOOT:|initializeSetVariables| BOOT::|inclmsgSay|
- BOOT::|inclmsgConStill| BOOT::|incStringStream|
- BOOT::|inclmsgConActive| BOOT:NUMOFNODES FOAM::TYPE2INIT
- BOOT:TRANSPGVAR FOAM::FOAM-FUNCTION-INFO BOOT::|GetValue|
- BOOT::|hasToInfo| FOAM::INSERT-TYPES BOOT::|formatPred|
- BOOT::|chaseInferences,foo| BOOT::|liftCond|
- FOAM::FOAMPROGINFOSTRUCT-P BOOT::|formatInfo|
- BOOT:TOKEN-TYPE BOOT::|addInformation,info|
- BOOT:|updateSourceFiles| BOOT::|infoToHas| BOOT::|addInfo|
- BOOT::|formatPredParts| BOOT::|printInfo|
- BOOT::|linearFormat| BOOT::|formatOperationAlistEntry|
- BOOT::|formatIf| BOOT:MKQ BOOT::|linearFormatName|
- BOOT::|dollarPercentTran| BOOT::|string2Float|
- BOOT::|specialChar| BOOT:TOKEN-SYMBOL BOOT::|hashCode?|
- BOOT::|formatArgList| BOOT::|listOfPredOfTypePatternIds|
- BOOT::|script2String| BOOT::|form2Fence1|
- BOOT::|replaceGoGetSlot| BOOT::|constructorName|
- BOOT::|sayModemap| BOOT:ACTION BOOT::|opIsHasCat|
- BOOT::|isNewWorldDomain| BOOT::|formCollect2String|
- BOOT::|DNameToSExpr1| BOOT::|tuple2String|
- BOOT::|DNameFixEnum| BOOT::|formJoin2String| BOOT:ASSOCLEFT
- BOOT::|DNameToSExpr| BOOT:|sayALGEBRA|
- BOOT::|CompStrToString| BOOT::|record2String|
- FOAM-USER::|AXL-spitSInt| BOOT::|computedMode|
- BOOT::|formWrapId| BOOT::|getIProplist|
- BOOT::|isBinaryInfix| BOOT::|mkAtreeValueOf|
- BOOT::|collectDefTypesAndPreds| BOOT::|formatSignature|
- BOOT::|freeOfSharpVars| BOOT::|unVectorize|
- BOOT::|formatSignature0| BOOT::|isInternalFunctionName|
- BOOT::|objEnv| BOOT:NREVERSE0 BOOT::|formatMapping|
- BOOT::|canRemoveIsDomain?| BOOT:|sayFORTRAN|
- BOOT::|formIterator2String| BOOT:|IS_#GENVAR|
- BOOT::|removeIsDomains| BOOT:LISTOFATOMS
- BOOT::|formatAttribute| BOOT::|formTuple2String|
- BOOT::|numOfSpadArguments| BOOT::|args2Tuple|
- BOOT::|blankList| BOOT::|removeBodyFromEnv|
- BOOT::|form2StringWithWhere| BOOT::|reportOpSymbol|
- BOOT::|apropos| BOOT::|formatModemap,fn|
- BOOT::|listOfVariables| BOOT::|isFreeVar|
- BOOT::|isLocalVar| BOOT::|expr2String|
- BOOT::|isInternalMapName| BOOT::|atom2String|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T *) *) VMLISP:MAKE-APPENDSTREAM
- VMLISP:MAKE-INSTREAM VMLISP:MAKE-OUTSTREAM
- VMLISP:COMPILE-LIB-FILE BOOT:|OsRunProgram|
- BOOT:|OsRunProgramToStream| BOOT::ASHARP
- FOAM:COMPILE-AS-FILE BOOT:|Prompt| BOOT:|sayBrightlyNT|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T T) (VALUES T T)) BOOT::|getScriptName|
- FOAM:AXIOMXL-GLOBAL-NAME BOOT::|spadTraceAlias|))
-(PROCLAIM '(FTYPE (FUNCTION (T T *) (VALUES T T)) VMLISP:MDEF))
-(PROCLAIM '(FTYPE (FUNCTION (T *) STRING) VMLISP:MAKE-FULL-CVEC))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T) *) BOOT::|bcInputMatrixByFormula|
- BOOT::|bcInputExplicitMatrix| BOOT::|htStringPad|
- BOOT::|evalAndRwriteLispForm| BOOT::|mkAtreeWithSrcPos|
- BOOT::|rwriteLispForm| BOOT::COMPILE-DEFUN BOOT::|doIt|
- BOOT::BPIUNTRACE VMLISP:QUOTIENT BOOT::|print|
- BOOT::|compilerDoitWithScreenedLisplib|
- BOOT::|compilerDoit| BOOT::MONITOR-PRINVALUE BOOT::/TRACE-2
- VMLISP:|LAM,FILEACTQ| BOOT::|hasFormalMapVariable|
- BOOT::|ScanOrPairVec| VMLISP:SUFFIX BOOT::PRINMATHOR0
- BOOT::|spadTrace| BOOT::|output| BOOT::|e01bffDefaultSolve|
- BOOT::|e01safDefaultSolve| BOOT::|popUpNamedHTPage|
- BOOT::|e01dafDefaultSolve| BOOT::|replaceNamedHTPage|
- BOOT::|e02bafDefaultSolve| BOOT::|e02bdfDefaultSolve|
- BOOT::|e02defDefaultSolve| BOOT::|sockSendFloat|
- BOOT::SOCK-SEND-SIGNAL BOOT::SOCK-SEND-FLOAT
- BOOT::SOCK-SEND-STRING BOOT::SOCK-SEND-INT BOOT::ERASE
- BOOT::|sayErrorly| BOOT::|saturnSayErrorly| BOOT::|set1|
- BOOT::|displaySetOptionInformation| BOOT::|mkGrepPattern|
- BOOT::|showDoc| BOOT::|genSearchSayJump| BOOT::|oPageFrom|
- BOOT::|showConstruct| BOOT::|htCommandToInputLine,fn|
- BOOT::|grepConstructorSearch| BOOT::|showNamedDoc|
- BOOT::|form2HtString,fnTail| BOOT::|xdrWrite|
- BOOT::|spleI1| BOOT::|readData,xdrRead1| BOOT::|xdrRead|
- BOOT::|sockSendSignal| BOOT::|htpLabelFilteredInputString|
- BOOT::|e01bgfDefaultSolve| BOOT::|e01befDefaultSolve|
- BOOT::|e01bafDefaultSolve| BOOT::|htGlossSearch|
- BOOT::|htSetSystemVariable| BOOT::|htSetSystemVariableKind|
- BOOT::|htSetNotAvailable| BOOT::|htShowLiteralsPage|
- BOOT::|htCheck| BOOT::|htShowIntegerPage|
- BOOT::|htShowFunctionPage| BOOT::|htSetFunCommandContinue|
- BOOT::|htKill| BOOT::|htFunctionSetLiteral|
- BOOT::|htShowSetPage| BOOT::ADDCLOSE BOOT::|htSetLiteral|
- BOOT:|LispCompileFileQuietlyToObject|
- ; BOOT::|findStringInFile|
- BOOT::|ppPair|
- BOOT::|getMinimalVarMode| BOOT::|checkAddSpaceSegments|
- BOOT::|checkAddIndented| BOOT::|alistSize,count|
- BOOT::|dbConformGen1| BOOT::|pickitForm|
- BOOT::|koaPageFilterByCategory1| VMLISP::COPY-FILE
- VMLISP::COPY-LIB-DIRECTORY BOOT::|c06ebfDefaultSolve|
- BOOT::|c06gsfDefaultSolve| BOOT::|c06eafDefaultSolve|
- BOOT::|c06gbfDefaultSolve| BOOT::|c06gqfDefaultSolve|
- BOOT::|c06ecfDefaultSolve| BOOT::|c06gcfDefaultSolve|
- BOOT::|d01gafDefaultSolve| BOOT::|spadcall2|
- BOOT::|sublisV| BOOT::|sublisV,suba| BOOT::|fortError|
- BOOT::|f04adfDefaultSolve| BOOT::|f04arfDefaultSolve|
- BOOT::|koPageFromKKPage| BOOT::|kArgPage| BOOT::|npsystem|
- BOOT::|f04asfDefaultSolve|
- BOOT::|handleParsedSystemCommands|
- BOOT::|handleTokensizeSystemCommands|
- BOOT::|f07fdfDefaultSolve| BOOT::|tokenSystemCommand|
- BOOT::|reportOpsFromLisplib1| BOOT::|handleNoParseCommands|
- BOOT::|f07aefDefaultSolve| BOOT::|f07fefDefaultSolve|
- BOOT::|f07adfDefaultSolve| BOOT::|addPatchesToLongLines|
- BOOT::|kArgumentCheck| BOOT::COERCE-FAILURE-MSG
- BOOT::|kxPage| BOOT::|kcnPage| BOOT::SAYBRIGHTLYNT1
- BOOT::|kcuPage| BOOT::|ksPage| BOOT::|conOpPage|
- BOOT::|kcdoPage| BOOT::|kcdePage| BOOT::|kcdPage|
- BOOT::|kccPage| BOOT::|patternCheck,subWild|
- BOOT::|kcaPage| BOOT::|kcpPage| BOOT::|htDoneButton|
- BOOT::|sockSendInt| BOOT::|kePage| BOOT::|sockSendString|
- BOOT::|koaPageFilterByName| BOOT::|koaPageFilterByCategory|
- BOOT::|koPageAux1| BOOT::|kcPage| BOOT::|getmode|
- BOOT::|docSearch1| BOOT::|grepSearchQuery|
- BOOT::|repeatSearch| BOOT::|reportOpsFromLisplib0|
- BOOT::|reportOperations| BOOT::|generalSearchDo|
- BOOT::|grepSearchJump| BOOT::|mkDetailedGrepPattern,conc|
- BOOT::|kiPage| BOOT::|errorPage|
- BOOT::|dbShowConsKindsFilter| BOOT::|koPage|
- BOOT::|dbInfoChoose| BOOT::|kciPage|
- BOOT::|dbInfoChooseSingle| BOOT::|dbSort| BOOT::|msgText|
- BOOT::|bcSeriesByFormula| BOOT::|bcRealLimitGen1|
- BOOT::|bcSeriesExpansion| BOOT::|ncloopInclude|
- BOOT::|bcComplexLimit| BOOT::|bcRealLimit|
- BOOT::|htFilterPage| BOOT::|bcPuiseuxSeries|
- BOOT::KCL-OS-RUN-PROGRAM-TO-STREAM BOOT::|bcLaurentSeries|
- BOOT::KCL-OS-RUN-PROGRAM BOOT::|bcTaylorSeries|
- BOOT::|bcLinearSolveMatrix| BOOT::|bcMakeEquations|
- BOOT::|bcMakeLinearEquations| BOOT::|bcLinearSolveEqns|
- BOOT::|bcSolveSingle| BOOT::|bcInputEquations| BOOT::FC
- BOOT::|bcSystemSolve| BOOT::|bcSolveEquationsNumerically|
- BOOT::|bcSolveEquations| BOOT::|bcLinearSolve|
- BOOT::|bcLinearMatrixGen|
- BOOT::|bcLinearSolveMatrixInhomoGen|
- BOOT::|bcLinearSolveMatrixInhomo|
- BOOT::|bcLinearSolveMatrixHomo| BOOT::|finalExactRequest|
- BOOT::|printMap1| BOOT::|htMkName|
- BOOT::|makeLongSpaceString| BOOT::|makeLongTimeString|
- BOOT::|nrtEval| BOOT::|f01mcfDefaultSolve|
- BOOT::|f01rcfDefaultSolve| BOOT::|ncloopCommand|
- BOOT::|ncloopInclude1| BOOT::|ncConversationPhase|
- BOOT:DEFSTREAM BOOT::|inclHandleBug| BOOT::|evalSlotDomain|
- BOOT::|ncEltQ| BOOT::|formArguments2String,fn|))
-(PROCLAIM
- '(FTYPE (FUNCTION (T *) T) BOOT:|sayBrightly| BOOT:BLANKS
- BOOT:MATCH-NEXT-TOKEN BOOT::|desiredMsg|
- BOOT:|sayBrightlyI| BOOT:MATCH-CURRENT-TOKEN
- VMLISP:RDEFIOSTREAM VMLISP:CATCHALL VMLISP:TAB
- VMLISP:|F,PRINT-ONE| VMLISP:VMPRINT BOOT::FINDTAG
- VMLISP:MAKE-HASHTABLE VMLISP:MAKE-FILENAME VMLISP:MACERR
- VMLISP:PRETTYPRINT BOOT::|pfExpression| BOOT::|pfSymbol|
- VMLISP:|LAM,EVALANDFILEACTQ| VMLISP:PRETTYPRIN0
- BOOT::|pfSymb| VMLISP::MAKE-INPUT-FILENAME
- BOOT:|LispReadFromString| BOOT::MONITOR-ADD BOOT::|cpCms|
- VMLISP::MAKE-FULL-NAMESTRING BOOT:|PrettyPrint|
- BOOT:|PlainPrintOn| BOOT:|WriteLispExpr| BOOT:|WriteLine|
- BOOT:|WriteString| BOOT:|ReadLineIntoString|
- BOOT:|ReadBytesIntoVector| BOOT:|Pathname|
- BOOT:|FullVector| BOOT:|FullBvec| BOOT:|FullString|
- BOOT::PRINT-NEW-LINE BOOT::PRINT-FULL
- BOOT::GET-BOOT-IDENTIFIER-TOKEN BOOT::COMPSPADFILES))
-(PROCLAIM
- '(FTYPE (FUNCTION (T T) T) BOOT::|mkAliasList,fn| BOOT:PREDECESSOR
- BOOT::|depthOfRecursion| BOOT::|formatJoinKey|
- BOOT::|putBodyInEnv| BOOT::|mapDefsWithCorrectArgCount|
- BOOT::|sayModemapWithNumber| BOOT::|addDefaults| BOOT:NLIST
- BOOT::|formatOperation| BOOT::|get1defaultOp|
- BOOT::|compileBody| BOOT::|makeLocalModemap| BOOT:NSTRCONC
- BOOT::|saveDependentMapInfo| BOOT:GETRULEFUNLISTS
- BOOT::|axFormatDecl| BOOT::|mkMapAlias| BOOT::|readData|
- BOOT::|axFormatConstantOp| BOOT::|axFormatOpSig|
- BOOT::|mkFormalArg| BOOT::|writeData| BOOT:POINT
- BOOT::|mkValCheck| BOOT::|mkValueCheck| BOOT::|isPointer?|
- BOOT::|wt| BOOT::|dqAppend| BOOT::|makePattern|
- BOOT::|makeAxFile| BOOT::|clearDependencies|
- BOOT::|getEqualSublis,fn| BOOT::|sourceFilesToAxFile|
- BOOT::|getLocalVars| BOOT::|simplifyMapPattern|
- BOOT::|getMapBody| BOOT:GETTAIL BOOT::|htpLabelInputString|
- BOOT::|htpLabelSpadValue| BOOT::|putDependencies|
- BOOT::STACK-PUSH BOOT:COMPARE BOOT::|htMakeDoneButton|
- BOOT::|putDependencies,removeObsoleteDependencies|
- BOOT::|makeNewDependencies| BOOT::|PARSE-Operation|
- BOOT::|htInitPage| BOOT::|notCalled| BOOT::|htpProperty|
- BOOT::|containsOp| BOOT::|makeRuleForm|
- BOOT::|nonRecursivePart| BOOT::|outputFormat|
- BOOT::|sayDroppingFunctions| BOOT::|nonRecursivePart1|
- BOOT::|expandRecursiveBody| BOOT::|addDefMap|
- BOOT::|e04nafSolve,fh| BOOT:FLAG BOOT::|ifCond|
- BOOT::|incCommandTail| BOOT::|incTrunc| BOOT::|dollarTran|
- BOOT:PAIR BOOT::CHAR-EQ BOOT::|PARSE-rightBindingPowerOf|
- BOOT::|e04nafSolve,fi| BOOT:SUBLISNQ
- BOOT::|writeInputLines| BOOT::|rempropI| BOOT:DELASC
- BOOT::|showInput| BOOT::|showInOut| BOOT::SPADRREAD
- BOOT:LASSOC BOOT::|ScanOrPairVec,ScanOrInner| BOOT::|getI|
- BOOT::|mergeSignatureAndLocalVarAlists| BOOT::CHAR-NE
- BOOT:S+ BOOT::|convertOpAlist2compilerInfo,formatSig|
- BOOT::|getLisplibNoCache| BOOT::|getLisplib|
- BOOT::|PARSE-leftBindingPowerOf| BOOT:MAKE-PARSE-FUNCTION
- BOOT::|spadPrint| BOOT::|getSlotFromCategoryForm|
- BOOT::|systemDependentMkAutoload| BOOT:MKPF
- BOOT::|mkAutoLoad| BOOT:STRM BOOT::|wordFrom|
- FOAM::|magicEq1| BOOT::|throwKeyedMsg1|
- BOOT::|saturnThrowKeyedMsg| BOOT::|center|
- BOOT::|substituteCategoryArguments|
- BOOT::|isDomainConstructorForm| BOOT::|keyedSystemError1|
- BOOT::|orderByDependency| BOOT::|saturnKeyedSystemError|
- BOOT::|getFunctorOpsAndAtts| BOOT::|breakKeyedMsg|
- BOOT::|fastSearchCurrentEnv| BOOT::|putMode|
- BOOT::|splitListOn| BOOT::|putFlag|
- BOOT::|mkAtreeNodeWithSrcPos| BOOT::|getMsgCatAttr|
- BOOT::|DomainSubstitutionFunction|
- BOOT::|transferSrcPosInfo| BOOT::|isNestedInstantiation|
- BOOT::|DomainSubstitutionFunction,Subst|
- BOOT::|mkAtree1WithSrcPos| BOOT::|wrapDomainSub|
- BOOT::|listInitialSegment| BOOT::|compCategoryItem|
- BOOT::|writeLib|
- BOOT::|makeFunctorArgumentParameters,findExtrasP|
- BOOT::|loadLibIfNecessary| BOOT::|rep|
- BOOT::|collectDefTypesAndPreds,addPred|
- BOOT::|setMsgPrefix| BOOT::|setMsgCatlessAttr|
- BOOT::|getSignatureFromMode|
- BOOT::|makeFunctorArgumentParameters,findExtras|
- BOOT::|makeFunctorArgumentParameters,findExtras1|
- BOOT::|autoLoad| BOOT::|isMacro| BOOT::|readLib|
- BOOT::|getValueFromEnvironment|
- BOOT::|unloadOneConstructor|
- BOOT::|compileCases,FindNamesFor| BOOT::|asTupleNewCode|
- BOOT::|macroExpandList| BOOT::|setMsgForcedAttrList|
- BOOT::|macSubstituteId| BOOT::|atree2Tree1|
- BOOT::|compileCases,isEltArgumentIn|
- BOOT::|makeFunctorArgumentParameters,augmentSig|
- BOOT::|mkAtree3,fn| BOOT::|macroExpandInPlace|
- BOOT::|getErFromDbL| BOOT::|compJoin,getParms|
- BOOT::|pfMapParts| BOOT::|erMsgCompare|
- BOOT::|compareposns| BOOT::|pfCopyWithPos|
- BOOT::|mkCategoryPackage,fn| BOOT::|getArgumentMode|
- BOOT:REMFLAG BOOT::|listDecideHowMuch|
- BOOT::|throwEvalTypeMsg| BOOT::|splitEncodedFunctionName|
- BOOT:QLASSQ BOOT::|decideHowMuch| BOOT::|getArgValue1|
- BOOT::|setMsgText| BOOT::|setMsgUnforcedAttrList|
- BOOT::|genDomainViewList0| BOOT::|macLambda,mac|
- BOOT::|macWhere,mac|
- BOOT::|makeFunctorArgumentParameters,fn|
- BOOT::|canCacheLocalDomain|
- BOOT::|makeCategoryPredicates,fn|
- BOOT::|makeCategoryPredicates,fnl|
- BOOT::|getArgValueOrThrow| BOOT::|mac0SubstituteOuter|
- BOOT::|insertPos| BOOT::|macLambdaParameterHandling|
- BOOT::|genDomainViewName| BOOT::|isKeyQualityP|
- BOOT::|queueUpErrors| BOOT::|thisPosIsEqual|
- BOOT::|getOpArgTypes1| BOOT::|redundant|
- BOOT::|argCouldBelongToSubdomain| BOOT::|thisPosIsLess|
- BOOT::APPEND-N BOOT::|putFTText| BOOT::CONS-N
- BOOT::|getModemap| BOOT::|sameMsg?| BOOT::EVAL-DEFUN
- BOOT::|mkOpVec| BOOT::|resolveTCat|
- BOOT::PRINT-AND-EVAL-DEFUN BOOT::|AssocBarGensym|
- BOOT::|FromTo| BOOT::|compareMode2Arg|
- BOOT::|c02affSolve,f| BOOT::|subCopy|
- BOOT::|getOpArgTypes,f| BOOT::|isTowerWithSubdomain|
- BOOT::|addEmptyCapsuleIfNecessary| BOOT::|constructM|
- BOOT:|delete| BOOT::|c02agfSolve,f| BOOT::|bootStrapError|
- BOOT::|getOpArgTypes| BOOT::|dqAddAppend| BOOT::|tracelet|
- BOOT::/UNTRACE-2 BOOT:|rassoc| BOOT::|resolveTM1|
- BOOT::|matchMmSigTar| BOOT::/UNTRACE-1 BOOT::|deepSubCopy|
- BOOT::|CONTAINEDisDomain| BOOT::|hasCatExpression|
- BOOT::PAIRTRACE BOOT::|spadUntrace| BOOT:LENGTHENVEC
- BOOT::|defaultTypeForCategory| BOOT::DEF-IT BOOT:|breaklet|
- BOOT::|mmCatComp| BOOT::|mergeSubs| BOOT::DEF-LET
- BOOT::|hasCaty1| BOOT:STRINGPAD BOOT::|mkObjWrap|
- BOOT:TRUNCLIST BOOT::|position1| BOOT::DEF-IS2
- BOOT::|defLET| BOOT::|defLETdcq|
- BOOT::|sortAndReorderDmpExponents| BOOT::WHDEF
- BOOT::|removeListElt| BOOT::|everyNth| BOOT::LET_ERROR
- BOOT::|defIS| BOOT::DEF-IS-REV VMLISP:SETDIFFERENCE
- BOOT::DEF-SELECT2 BOOT::DEF-SELECT1 BOOT::|addInformation|
- BOOT::|varIsOnlyVarInPoly| BOOT::|makeCategoryPredicates|
- BOOT::|compDefWhereClause,addSuchthat| VMLISP:DIVIDE
- BOOT::NOTEQUALLIBS VMLISP:GETL BOOT::|modemapPattern|
- BOOT::|removeVectorElt| BOOT::GETALIST
- BOOT::|buildDatabase| BOOT::|mathPrint1|
- BOOT::|getInverseEnvironment| BOOT::|getSuccessEnvironment|
- BOOT::|getSystemModemaps| BOOT::|insertWOC|
- BOOT::|getModemapsFromDatabase| BOOT::|removeCoreModemaps|
- BOOT::|SubstWhileDesizing| BOOT::|resolveTTUnion|
- BOOT::|resolveTTEq| BOOT::|rightBindingPowerOf|
- BOOT::/GETOPTION BOOT::|resolveTTCC|
- BOOT::|leftBindingPowerOf| BOOT::|stackSemanticError|
- BOOT::/GETTRACEOPTIONS BOOT::|resolveTTRed|
- BOOT::/TRACELET-PRINT BOOT::|resolveTTSpecial|
- BOOT::MONITOR-PRINT BOOT::|compareTT| BOOT::|opWidth|
- BOOT::|isConstantId| BOOT::|acceptableTypesToResolve|
- BOOT::|resolveTCat1| BOOT::|getConditionsForCategoryOnType|
- BOOT::|resolveTTAny| BOOT::|resolveTMOrCroak|
- BOOT::|outputMapTran0| BOOT::|spliceTypeListForEmptyMode|
- BOOT::MONITOR-EVALTRAN BOOT::|constructTowerT|
- BOOT::|throwKeyedMsg| BOOT::|canCoerceExplicit2Mapping|
- BOOT::|term1RWall| BOOT::|absolutelyCannotCoerce|
- BOOT::|rassocSub| BOOT::|coerceOrConvertOrRetract|
- VMLISP:NCONC2 BOOT::|term1RW| BOOT::|coerceOrRetract|
- BOOT::|resolveTMTaggedUnion| BOOT::|canCoerceUnion|
- BOOT::|acceptableTypesToResolve1| BOOT::|canCoercePermute|
- BOOT::|computeTTTranspositions| BOOT::|resolveTM2|
- BOOT::|newCanCoerceCommute| BOOT::|coerceIntCommute|
- BOOT::|resolveTMRed| BOOT::|coerceInt1| BOOT::|pmatch|
- BOOT::/TRACE-1 BOOT::|resolveTMEq| BOOT::|getUnionMode|
- BOOT::|resolveTMEq1| BOOT::|isUnionMode|
- BOOT::|coerceInt2Union| BOOT::|resolveTMSpecial|
- BOOT::|coerceIntFromUnion| VMLISP:REMAINDER
- BOOT::|resolveTMRecord| BOOT::|resolveTMUnion|
- BOOT::|isFunction| BOOT::|coerceIntAlgebraicConstant|
- BOOT::|coerceIntTower| BOOT::|coerceRetract|
- BOOT::|compareTypeLists| BOOT::|modifyModeStack|
- BOOT::|replaceSymbols| BOOT::|coerceIntTableOrFunction|
- BOOT::|isDomainForm| BOOT::|coerceIntSpecial|
- BOOT::/TRACELET-2 BOOT::|SubstWhileDesizingList|
- BOOT::|coerceIntPermute| BOOT::|getProplist|
- BOOT::|coerceBranch2Union| BOOT::ASSOCIATER
- BOOT::/TRACELET-1 BOOT::|retractByFunction|
- BOOT::|constructT| BOOT::MONITOR-PRINARGS-1
- BOOT::|outputComp| VMLISP:GGREATERP BOOT::|isDomainInScope|
- BOOT::|canConvertByFunction| VMLISP:CGREATERP
- BOOT::|canCoerceLocal| BOOT::|maxSuperType|
- BOOT::|canCoerceTower| BOOT::/UPDATE-1 BOOT::|coerceInt0|
- BOOT::|objSetMode| VMLISP:SORTBY BOOT::MONITOR-GETVALUE
- VMLISP:|member| BOOT::MONITOR-EVALTRAN1
- BOOT::|coerceIntByMapInner| BOOT::|getConstantFromDomain|
- BOOT::|valueArgsEqual?| BOOT::|traceDomainConstructor|
- BOOT::|coerceIntByMap| BOOT::|equalZero|
- BOOT::|replaceLast| BOOT::|coerceIntTest| VMLISP:ADDOPTIONS
- BOOT::|isSubTowerOf| BOOT::|starstarcond| BOOT::|equalOne|
- VMLISP:|assoc| VMLISP:SETSIZE BOOT::|evalSharpOne|
- VMLISP:EFFACE BOOT::|canCoerceCommute|
- BOOT::|clearDependentMaps| BOOT::|constantInDomain?|
- VMLISP:EMBED BOOT::|translateMpVars2PVars|
- VMLISP:LEXGREATERP VMLISP:RPLPAIR
- BOOT::|addDmpLikeTermsAsTarget| VMLISP:HPUT*
- BOOT::|genMpFromDmpTerm| VMLISP:STRING2ID-N
- BOOT::|htMakeTemplates,substLabel| BOOT::|doDoitButton|
- VMLISP:$FINDFILE BOOT::|keyedMsgCompFailure| BOOT::|objNew|
- BOOT::|putValue| BOOT::|getAtree| BOOT::|putModeSet|
- VMLISP:$SHOWLINE VMLISP:RDROPITEMS BOOT::|bottomUpType|
- BOOT::|bottomUpIdentifier| BOOT::|transferPropsToNode|
- BOOT::|getArgValue| BOOT::|bottomUpCompilePredicate|
- BOOT::|bottomUpPredicate| BOOT::|putTarget|
- BOOT::|getMinimalVariableTower|
- BOOT::|computeTypeWithVariablesTarget|
- BOOT::|removeUnionsAtStart| BOOT::|pushDownOp?|
- BOOT::|e02gafSolve,fc| BOOT::|e02gafSolve,fr|
- BOOT::|sayIntelligentMessageAboutOpAvailability|
- BOOT::|getBasicMode0| BOOT::|mkObjCode|
- BOOT::|intCodeGenCOERCE| BOOT::|canCoerceByMap|
- BOOT::|canCoerceByFunction| BOOT::|isSubDomain|
- BOOT::|absolutelyCanCoerceByCheating|
- BOOT::|e04ucfSolve,fa| BOOT::|coerceCommuteTest|
- BOOT::|asyGetAbbrevFromComments,fn| BOOT::|asySplit|
- BOOT::|asyWrap| BOOT::GETDATABASE
- BOOT::|asyAbbreviation,chk| BOOT::|asyTypeJoinPart|
- BOOT::|setVector4part3| BOOT::|sublisProp|
- BOOT::|setVector12,freeof| BOOT::|setVector4Onecat,form|
- BOOT::|asyDisplay| BOOT::ERROR-FORMAT
- BOOT::|asyAbbreviation| BOOT::|asyCattranConstructors|
- BOOT::|DomainPrint| BOOT::|makeSF| BOOT::|asySimpPred|
- BOOT::|setVector0| BOOT::|setVector3| BOOT::DIVIDE2
- BOOT::QUOTIENT2 BOOT::|htpSetName| BOOT::|sort|
- BOOT::|defLET2| BOOT::|defLetForm| BOOT::|asyMapping|
- BOOT::|defIS1| BOOT::|asySig| BOOT::|defISReverse|
- BOOT::|addCARorCDR| BOOT::|defLET1|
- BOOT::|asyExportAlist,fn| BOOT::|displayDatabase,fn|
- BOOT::|quickAnd| BOOT::|asyCattranSig| BOOT::|asySigTarget|
- BOOT::|asyMkSignature| BOOT::|asCategoryParts,build|
- BOOT::/COMPINTERP BOOT::|unabbrevRecordComponent|
- BOOT::|unabbrev1| BOOT::|makeByteWordVec2|
- BOOT::|condAbbrev| BOOT::|unabbrevUnionComponent|
- BOOT::|constructorNameConflict| BOOT::SPAD-PRINTTIME
- BOOT::|htpLabelType| BOOT::|errorSupervisor|
- BOOT::|sayErrorly1| BOOT::INTEGER-BIT BOOT::|chebeval|
- BOOT::|rPsi| BOOT::|cpsireflect| BOOT::|cPsi|
- BOOT::|BesselJRecur| BOOT::|substFromAlist|
- BOOT::|BesselJAsymptOrder| BOOT::|BesselJAsympt|
- BOOT::|PsiXotic| BOOT::|f01| BOOT::|brutef01|
- BOOT::RBESSELJ BOOT::CPSI BOOT::RPSI BOOT::CHYPER0F1
- BOOT::CBESSELI BOOT::RBESSELI BOOT::CBESSELJ
- BOOT::|formatLazyDomainForm| BOOT::|formatLazyDomain|
- BOOT::|getDomainSigs1| BOOT::|showDomainsOp1|
- BOOT::|devaluateSlotDomain| BOOT::|getDomainRefName|
- BOOT::|andDnf| BOOT::|ordUnion| BOOT::|coafAndDnf|
- BOOT::|orDel| BOOT::|orDnf| BOOT::|dnfContains,fn|
- BOOT::|andReduce| BOOT::|simpBoolGiven| BOOT::|dnfContains|
- BOOT::|coafAndCoaf| BOOT::|ordIntersection|
- BOOT::|ordSetDiff| BOOT::|coafOrDnf| BOOT::|predCircular|
- BOOT::|clearAllSlams,fn| BOOT::|assocCircular|
- BOOT::|recurrenceError| BOOT::|countCircularAlist|
- BOOT::|displaySetVariableSettings| BOOT::|sayCacheCount|
- BOOT::|chebstareval| BOOT::|BesselIAsymptOrder|
- BOOT::|horner| BOOT::|BesselKAsymptOrder| BOOT::|cbeta|
- BOOT::|PsiAsymptotic| BOOT::|PsiEps| BOOT::|FloatError|
- BOOT::|cgammaG| BOOT::|besselIback| BOOT::|rPsiW|
- BOOT::|firstNonDelim| BOOT::|chebf01| BOOT::|BesselJ|
- BOOT::|BesselI| BOOT::|grepSplit| BOOT::|grepConstruct1|
- BOOT::|grepConstructDo| BOOT::|mkGrepPattern1,h|
- BOOT::|pfCoerceto| BOOT::|stripOffSegments|
- BOOT::|pfFromdom| BOOT::|pfRetractTo| BOOT::|pfRestrict|
- BOOT::|mkGrepPattern1,split| BOOT::|testInput2Output|
- BOOT::|hyperize| BOOT::|testPrin| BOOT::|grepCombine|
- BOOT::|subMatch| BOOT::|bcAbb| BOOT::|lfrinteger|
- BOOT::|getFortranType| BOOT::|wl| BOOT::|scanIgnoreLine|
- BOOT::|makeVector| BOOT::|htPred2English,fn| BOOT::|posend|
- BOOT::|functionAndJacobian,DF| BOOT::|isString?|
- BOOT::|bcOpTable| BOOT::|xdrOpen| BOOT::|scanExponent|
- BOOT::|scanCheckRadix| BOOT::|coerceUn2E|
- BOOT::|inFirstNotSecond| BOOT::|coerceVal2E|
- BOOT::|EnumPrint| BOOT::|scanInsert| VMLISP::WRAP
- BOOT::|RecordPrint| BOOT::|coerceRe2E|
- BOOT::|syIgnoredFromTo| BOOT::|sySpecificErrorHere|
- BOOT::|pfTree| BOOT::|makeList|
- BOOT::|setVector4Onecat,Supplementaries| BOOT::|pfSuch|
- BOOT::|compCategories1| BOOT::|pfParen| BOOT::|pfPretend|
- BOOT::|pfComDefinition| BOOT::|pfMLambda|
- BOOT::|resolvePatternVars| BOOT::|cons5|
- BOOT::|makeMissingFunctionEntry| BOOT::|pfHide|
- BOOT::|setVector5| BOOT::|d02kefSolve,fd|
- BOOT::|mkVectorWithDeferral| BOOT::|d02kefSolve,fe|
- BOOT::|d02gbfSolve,ff| BOOT::|pfBracketBar|
- BOOT::|d02gbfSolve,fg| BOOT::|pfIdPos| BOOT::|ProcessCond|
- BOOT::|DescendCodeAdd| BOOT::|LookUpSigSlots|
- BOOT::|DomainPrintSubst| BOOT::|d02gbfSolve,fc|
- BOOT::|partPessimise| BOOT::|d02gbfSolve,fd|
- BOOT::|pfBraceBar| BOOT::|sublisProp,inspect|
- BOOT::|pfTagged| BOOT::|HasCategory| BOOT::|d02gbfSolve,fa|
- BOOT::|HasSignature| BOOT::|d02gbfSolve,fb|
- BOOT::|HasAttribute| BOOT::|pfWDeclare|
- BOOT::|InvestigateConditions,Conds| BOOT::|pfBracket|
- BOOT::|pfDWhere| BOOT::|NewbFVectorCopy|
- BOOT::|DescendCodeVarAdd| BOOT::|getDomainView|
- BOOT::|pfBrace| BOOT::|d02gafSolve,fe|
- BOOT::|d02gafSolve,fc| BOOT::|pfOr| BOOT::|pfAnd|
- BOOT::|d03edfSolve,fb| BOOT::|pfTLam|
- BOOT::|stringChar2Integer| BOOT::|reshape|
- BOOT::|e01dafSolve,h| BOOT::|hashCombine|
- BOOT::|e01dafSolve,k| BOOT::|hashType| VMLISP:$REPLACE
- VMLISP:UNIONQ BOOT::|spadSysBranch|
- BOOT::|htSystemVariables,gn| BOOT::|postFlatten|
- BOOT::|gatherGlossLines| VMLISP:|intersection|
- BOOT::|postFlattenLeft| BOOT::|postTranSegment|
- VMLISP:DEFINE-FUNCTION BOOT::SEGMENT BOOT::|pfTyped|
- BOOT::|postScriptsForm| BOOT::|htCheckList|
- BOOT::|htSetvarDoneButton| BOOT::|htMakePathKey,fn|
- BOOT::|npLeftAssoc| VMLISP:SETDIFFERENCEQ
- BOOT::|htMarkTree| BOOT::|pfCollect| BOOT::|pfQualType|
- BOOT::|deltaContour| BOOT::ADD-PARENS-AND-SEMIS-TO-LINE
- BOOT::|getUniqueSignature| VMLISP:INTERSECTIONQ
- BOOT::|AMFCR,redefinedList| BOOT::|putDomainsInScope|
- BOOT::INITIAL-SUBSTRING BOOT::|compFormMatch,match|
- BOOT::STOREBLANKS BOOT::|compFormMatch| BOOT::ESCAPED
- BOOT::PARSEPILES BOOT::|addNewDomain| BOOT::|htDoNothing|
- BOOT::|AMFCR,redefined| BOOT::|domainMember|
- BOOT::|e04ycfSolve,fb| BOOT::MONITOR-WRITE
- BOOT::|htpSetDomainPvarSubstList| BOOT::|coerceByModemap|
- BOOT::|htpLabelFilter| BOOT::|profileDisplayOp|
- BOOT::|htpLabelSpadType| BOOT::|pfAssign|
- BOOT::|htpSetDomainVariableAlist| BOOT::|convertOrCroak|
- BOOT::|htpSetDomainConditions|
- BOOT::|intersectionEnvironment| BOOT::|pfRule|
- BOOT::|coerceExit| BOOT::|resolveTM|
- BOOT::|autoCoerceByModemap| BOOT::|coerceExtraHard|
- BOOT::|hasType| BOOT::|getConstructorMode|
- BOOT::|getConstructorFormOfMode| BOOT::|pfWhere|
- BOOT::|coerceHard| BOOT::|npRightAssoc|
- BOOT::|coerceSubset| BOOT::|reportCircularCacheStats|
- BOOT::|mkCircularCountAlist| BOOT::|pfPushMacroBody|
- BOOT::|pfMacro| BOOT::|coerceEasy| BOOT::|keyedSystemError|
- BOOT::|chaseInferences| BOOT::|say2PerLineWidth|
- BOOT::|getFormModemaps| BOOT::|prEnv,tran| BOOT::|qArg|
- BOOT::|npMissingMate| BOOT::|canFit2ndEntry|
- BOOT::|sayKeyedMsgLocal| BOOT::|mkUnion|
- BOOT::|printEnv,tran| BOOT::|listTruncate|
- BOOT::|newHasTest| BOOT::|makeCategoryForm|
- BOOT::ADDOPERATIONS BOOT::ASHARPMKAUTOLOADFUNCTION
- BOOT::|HGETandCount| BOOT::|consForHashLookup|
- BOOT::|sayKeyedMsgAsTeX| BOOT::|SymMemQ| BOOT::|addToSlam|
- BOOT::|throwPatternMsg| BOOT::DELDATABASE
- BOOT::|sayPatternMsg| BOOT::|getKeyedMsgInDb|
- BOOT::|lassocShift| BOOT::|htMakeTemplates|
- BOOT::|isKeyedMsgInDb| BOOT::|patternVarsOf1|
- BOOT::GETCONSTRUCTOR BOOT::|pfFromDom| BOOT::|symEqual|
- BOOT::|domainEqualList| BOOT::SET-LIB-FILE-GETTER
- BOOT::|pfApplication| BOOT::|rightJustifyString|
- BOOT::|remHashEntriesWith0Count,fn|
- BOOT::|globalHashtableStats| BOOT::|lassocShiftQ|
- BOOT::|pfWDec| BOOT::|pileForest| BOOT::|canCoerce;|
- BOOT::|pileForest1| BOOT::|canCoerce1| BOOT::DAASENAME
- BOOT::|pileTree| BOOT::|eqpileTree| BOOT::|pileCtree|
- BOOT::|resolveTT;| BOOT::WRAPDOMARGS BOOT::|evalCategory|
- BOOT::|replaceSharps| BOOT::|ofCategory|
- BOOT::|canCoerceFrom;| BOOT::|canCoerceFrom0|
- BOOT::|isEqualOrSubDomain| BOOT::|hasCorrectTarget|
- BOOT::MAKE-DATABASES BOOT::|resolveTT1|
- BOOT::|applyWithOutputToString| BOOT::|isDomainSubst,fn|
- BOOT::|isDomainSubst,findSub| BOOT::|insertModemap|
- BOOT::|makeBigFloat| BOOT::REDUCTION-PRINT
- BOOT::|mkAlistOfExplicitCategoryOps,fn| BOOT::REMOVER
- BOOT::STACK-LOAD BOOT::ESCAPE-KEYWORDS BOOT::|allLASSOCs|
- BOOT::MAKE-PARSE-FUNCTION1 BOOT::|pairList|
- BOOT::INITIAL-SUBSTRING-P BOOT::|finalizeDocumentation,fn|
- BOOT::|formatOpSignature| BOOT::|sayKeyedMsg|
- BOOT::|transDocList| BOOT::MAKE-PARSE-FUNC-FLATTEN
- BOOT::|recordAttributeDocumentation|
- BOOT::|recordDocumentation|
- BOOT::|recordSignatureDocumentation| BOOT::|macroExpand|
- BOOT::|checkRewrite| BOOT::|checkComments|
- BOOT::|checkExtract| BOOT::|checkTrim|
- BOOT::|spadSysChoose| BOOT::|testError|
- BOOT::|spadtestValueHook| BOOT::|checkIsValidType,fn|
- BOOT::|transDoc| BOOT::|checkIndentedLines|
- BOOT::SAYBRIGHTLY1 BOOT::|pvarPredTran| BOOT::|mkAbbrev|
- BOOT::|addSuffix| BOOT::|processPackage,opt|
- BOOT::|subTree| BOOT::|mkRepititionAssoc,mkRepfun|
- BOOT::|setPackageLocals| BOOT::|UnionPrint|
- BOOT::|JoinInner| BOOT::|objNewWrap|
- BOOT::|coerceByFunction| BOOT::|MappingPrint|
- BOOT::|parseTypeEvaluateArgs| BOOT::|createEnum|
- BOOT::|parseTranCheckForRecord| BOOT::|installConstructor|
- BOOT::|AncestorP| BOOT::|SourceLevelSubset|
- BOOT::|JoinInner,AddPredicate| BOOT::|mkAnd| BOOT::|mkOr|
- BOOT::|SigListUnion| BOOT::|PredImplies|
- BOOT::|DescendantP| BOOT::|mkOr2| BOOT::|SigOpsubsume|
- BOOT::|SourceLevelSubsume| BOOT::|compMakeCategoryObject|
- BOOT::|MachineLevelSubset| BOOT::|MachineLevelSubsume|
- BOOT::|SigListOpSubsume| BOOT::|SigEqual|
- BOOT::|SigListMember| BOOT::|CategoryPrint| BOOT::|mkAnd2|
- BOOT::|categoryParts,build|
- BOOT::|catPairUnion,addConflict|
- BOOT::|clearCategoryTable1| BOOT::|parseCases,casefn|
- BOOT::|hasCat| BOOT::|superSub| BOOT::|encodeCategoryAlist|
- BOOT::|simpCategoryOr| BOOT::|tempExtendsCat|
- BOOT::CONVERSATION1 BOOT::|addDomainToTable|
- BOOT::|mkCategoryOr| BOOT::/EMBED-Q
- BOOT::|formalSubstitute|
- BOOT::|updateCategoryTableForDomain|
- BOOT::|simpCatHasAttribute| BOOT::|testExtend|
- BOOT::|mergeOr| BOOT::|newHasTest,fn| BOOT::|simpOrUnion1|
- BOOT::|updateCategoryTable| BOOT::|substDomainArgs|
- BOOT::|NRTreplaceLocalTypes| BOOT::|dcOpPrint|
- BOOT::|predicateBitIndex,pn| BOOT::|augmentPredCode|
- BOOT::|mungeAddGensyms| BOOT::|htSayExpose|
- BOOT::|makeCompactSigCode| BOOT::|evalDomainOpPred,process|
- BOOT::|makeGoGetSlot| BOOT::|dbShowOpHeading|
- BOOT::|makePrefixForm| BOOT::|dbShowOperationLines|
- BOOT::|buildBitTable,fn| BOOT::|makeCompactDirect1|
- BOOT::|augmentPredVector| BOOT::|simpOrDumb|
- BOOT::|dbReduceByForm| BOOT::|dbContrivedForm|
- BOOT::|dbReduceByOpSignature| BOOT::|dcOpLatchPrint|
- BOOT::|reduceByGroup| BOOT::|dbGetCondition|
- BOOT::|dbGetOrigin| BOOT::|koCatOps| BOOT::|modemap2Sig|
- BOOT::|substInOrder| BOOT::|pairlis| BOOT::|getDcForm|
- BOOT::|koCatAttrsAdd| BOOT::|getSubstInsert|
- BOOT::|integerAssignment2Fortran1| BOOT::|koOps,fn|
- BOOT::|getAllModemapsFromDatabase| BOOT::|koOps,merge|
- BOOT::|exp2FortOptimizeCS1,pushCsStacks|
- BOOT::|fortFormatTypes| BOOT::|segment2| BOOT::|whoUses|
- BOOT::|fortranifyIntrinsicFunctionName|
- BOOT::|expression2Fortran1| BOOT::|dispfortarrayexp|
- BOOT::|fortFormatIfGoto| BOOT::|koCatAttrs|
- BOOT::|dbGetContrivedForm| BOOT::|dispfortexpj|
- BOOT::|assignment2Fortran1| BOOT::|beenHere|
- BOOT::|dispfortexpf| BOOT::|htSayConstructor|
- BOOT::|stringPrefix?| VMLISP::PUTINDEXTABLE
- VMLISP::WRITE-INDEXTABLE BOOT::|NRTsetVector4Part2|
- BOOT::|consDomainName| BOOT::|NRTencode|
- BOOT::|consDomainForm| BOOT::|deltaTran| BOOT::|consSig|
- BOOT::|NRTaddToSlam| BOOT::|deepChaseInferences|
- BOOT::|c06gsfSolve,g| BOOT::|c06gsfSolve,f|
- BOOT::|NRTdescendCodeTran| BOOT::|mergeAppend|
- BOOT::|NRTgetLocalIndex1| BOOT::|vectorLocation|
- BOOT::|c06frfSolve,fy| BOOT::|c06frfSolve,gy|
- BOOT::|c06frfSolve,fx| BOOT::|c06frfSolve,gx|
- BOOT::|c06gqfSolve,g| BOOT::|c06gqfSolve,f|
- BOOT::|c06fpfSolve,f| BOOT::|c06fpfSolve,g|
- BOOT::|c06fqfSolve,f| BOOT::|c06fqfSolve,g|
- BOOT::|c06fufSolve,fy| BOOT::|c06fufSolve,gy|
- BOOT::|c06fufSolve,fx| BOOT::|c06fufSolve,gx|
- BOOT:|ListIsLength?| BOOT:|ListMemberQ?| BOOT:|ListMember?|
- BOOT:|ListRemoveQ| BOOT:|ListNRemoveQ| BOOT:|ListUnion|
- BOOT:|ListUnionQ| BOOT:|ListIntersection|
- BOOT:|ListIntersectionQ| BOOT:|ListAdjoin|
- BOOT:|ListAdjoinQ| BOOT:|AlistAssoc| BOOT:|AlistRemove|
- BOOT:|AlistAssocQ| BOOT:|AlistRemoveQ| BOOT:|AlistAdjoinQ|
- BOOT:|AlistUnionQ| BOOT::|rePackageTran|
- BOOT::|ncINTERPFILE| BOOT:|TableUnset|
- BOOT::|updateSymbolTable| FOAM:|printDFloat|
- FOAM:|printSFloat| FOAM:|fputs| FOAM:|printBInt|
- FOAM:|fputc| FOAM:|printSInt| FOAM:|printString|
- FOAM:|printChar| BOOT::|incAppend| BOOT::|segment1|
- BOOT::|intersectionContour,unifiable| BOOT::|getStatement|
- BOOT::|deltaContour,contourDifference|
- BOOT::|makeCommonEnvironment,makeSameLength| BOOT::DELLASOS
- BOOT::|addContour,fn| BOOT::|fortranifyFunctionName|
- BOOT::|displayOpModemaps| BOOT::|fortFormatTypes1|
- BOOT::|f02aefSolve,l| FOAM:|PtrMagicEQ| BOOT::|hasOption|
- BOOT::|intersectionContour| BOOT::|commandErrorIfAmbiguous|
- BOOT::|intersectionContour,computeIntersection|
- BOOT::|f04adfSolve,f| BOOT::|f04adfSolve,g|
- BOOT::|makeCommonEnvironment| BOOT::|makeLiteral|
- BOOT::|isLiteral| BOOT::|f04mcfSolve,f|
- BOOT::|f04mcfSolve,g| BOOT::|f04qafSolve,h| BOOT::|mapInto|
- BOOT::|f04qafSolve,k| BOOT::|stringMatches?|
- BOOT::|basicMatch?| BOOT::|optionError|
- BOOT::|displayProperties| BOOT::|mkErrorExpr,highlight|
- BOOT::|f04adfSolve,fb| BOOT::|mkErrorExpr,highlight1|
- BOOT::|coerce| BOOT::|numOfOccurencesOf| BOOT::|sublisR|
- BOOT::|compMapCond''| BOOT::|getAndSay|
- BOOT::|intersectionContour,interProplist| BOOT::|position|
- BOOT::|satDownLink| BOOT::|getmodeOrMapping|
- BOOT::|intersectionContour,compare|
- BOOT::|intersectionContour,modeCompare|
- BOOT::|getAbbreviation| BOOT::|koAttrs|
- BOOT::|GEQNSUBSTLIST,GSUBSTinner| BOOT::|isCategoryForm|
- BOOT::|resolve| BOOT::|convert| BOOT::|flatten|
- BOOT::|f04jgfSolve,f| BOOT::|npsynonym|
- BOOT::|f04jgfSolve,g| BOOT::|getImports,import|
- BOOT::|f04arfSolve,f| BOOT::|f04arfSolve,g|
- BOOT::|modeEqual| BOOT::|f04mbfSolve,l|
- BOOT::|displayWarning| BOOT::|f04mbfSolve,o|
- BOOT::|addContour| BOOT::|f04asfSolve,f|
- BOOT::|f04asfSolve,g| BOOT::|deleteAssoc|
- BOOT::|purgeNewConstructorLines|
- BOOT::|filterListOfStrings| BOOT::|asyDocumentation,fn|
- BOOT::|satisfiesRegularExpressions| BOOT::|displayProplist|
- BOOT::|transformAndRecheckComments|
- BOOT::|displaySemanticError| BOOT::|asySignature|
- BOOT::|f04mbfSolve,h| BOOT::|asyTypeUnitDeclare|
- BOOT::|f04mbfSolve,k| BOOT::|asyCatSignature|
- BOOT::|dbSpreadComments| BOOT::|computeAncestorsOf|
- BOOT::|descendantsOf| BOOT::|f04atfSolve,f|
- BOOT::|f04atfSolve,g| BOOT::|f04adfSolve,gb|
- BOOT::|reportOpsFromLisplib| BOOT::|f07fdfSolve,fa|
- BOOT::|f07fdfSolve,fb| BOOT::|f07aefSolve,fa|
- BOOT::|f07aefSolve,faa| BOOT::|f07adfSolve,fa|
- BOOT::|f07adfSolve,fb| BOOT::|childArgCheck|
- BOOT::|f07aefSolve,fb| BOOT::POSN1 BOOT::|assocCar|
- BOOT::|childAssoc| BOOT::|f07fefSolve,fb|
- BOOT::|f07fefSolve,fbb| BOOT::|ancestorsAdd|
- BOOT::|f07fefSolve,fa| BOOT::|quickOr|
- BOOT::|f07fefSolve,faa| BOOT::|f07aefSolve,fbb|
- BOOT::|explodeIfs,gn| BOOT::|f01qdfSolve,fa|
- BOOT::|f01qdfSolve,ga| BOOT::|dbGatherDataImplementation|
- BOOT::|dbMakeSignature| BOOT::|dbExposed?|
- BOOT::|getRegistry| BOOT::|opAlistCount|
- BOOT::|f01rdfSolve,gb| BOOT::|bcStarSpaceOp|
- BOOT::|evalDomainOpPred,convert| BOOT::|f02aefSolve,f|
- BOOT:|Sort| BOOT::|f02aefSolve,g| BOOT:|SortInPlace|
- BOOT::|evalDomainOpPred,evpred| BOOT::|f02aefSolve,h|
- BOOT::|evalDomainOpPred,evpred1| BOOT::|f02abfSolve,f|
- BOOT::|f02abfSolve,g| BOOT::|f02aafSolve,f|
- BOOT::|f02aafSolve,g| BOOT::|evalDomainOpPred|
- BOOT::|getDomainOpTable,memq| BOOT::|f02ajfSolve,h|
- BOOT::|f02ajfSolve,l| BOOT::|superMatch?|
- BOOT::|f02affSolve,f| BOOT::|f02affSolve,g|
- BOOT:|ByteFileWriteLine| BOOT::NREVERSE-N
- BOOT::|f02adfSolve,h| BOOT::|f02adfSolve,l|
- FOAM:|fiSetDebugger| BOOT::TRUNCLIST-1
- BOOT::|f02bjfSolve,h| BOOT::-REDUCE-OP
- BOOT::|f02bjfSolve,l| BOOT::OR2 BOOT::|f02axfSolve,h|
- BOOT::AND2 BOOT::|f02axfSolve,l| BOOT::|f02ajfSolve,f|
- BOOT::REPEAT-TRAN BOOT::|f02ajfSolve,g| BOOT::MKPFFLATTEN
- BOOT::|f02akfSolve,h| BOOT:|StreamSetPosition|
- BOOT::|f02akfSolve,l| BOOT::MKPF1 BOOT::|f02axfSolve,f|
- BOOT::|f02axfSolve,g| BOOT::-REPEAT BOOT::|f02xefSolve,fb|
- BOOT::|CONTAINED,EQUAL| BOOT::|f02xefSolve,gb|
- BOOT::|CONTAINED,EQ| BOOT::|f02awfSolve,h|
- BOOT::|f02awfSolve,l| BOOT::|kPageArgs|
- BOOT::|dbSubConform| BOOT::|f02akfSolve,f|
- BOOT::|f02akfSolve,g| BOOT:|PathnameWithType|
- BOOT::MARKHASH BOOT:|PathnameWithDirectory|
- BOOT::|f02bjfSolve,f| BOOT::|f02bjfSolve,g|
- BOOT::|f02adfSolve,f| BOOT::|f02adfSolve,g| BOOT::|,MIN|
- BOOT:|PathnameWithinDirectory|
- BOOT::|domainDescendantsOf,jfn|
- BOOT::|domainDescendantsOf,catScreen| BOOT::|,MAX|
- BOOT:|PathnameWithinOsEnvVar| BOOT::LEXLESSEQP
- BOOT::|,DIFFERENCE| BOOT::GLESSEQP BOOT::MAKE-INIT-VECTOR
- BOOT::|,TIMES| BOOT::|,PLUS| BOOT::|f02awfSolve,f|
- BOOT::|f02awfSolve,g| BOOT::SUBB BOOT::|getCDTEntry|
- BOOT::|f02xefSolve,fa| BOOT::|f02xefSolve,ga|
- BOOT::|stuffSlots| BOOT::|domainDescendantsOf| BOOT::DO_LET
- BOOT::|f02agfSolve,f| BOOT:|CsetMember?|
- BOOT::|f02agfSolve,g| BOOT::|measureCommon,fn|
- BOOT:|CsetUnion| BOOT::|f02wefSolve,fb|
- BOOT::|f02wefSolve,gb| BOOT::|deleteWOC|
- BOOT::|f02bbfSolve,f| BOOT::|next| BOOT::|f02bbfSolve,g|
- BOOT::|suffix?| BOOT::|list2LongerVec|
- BOOT::|f02wefSolve,fa| BOOT::|mkCurryFun|
- BOOT::|f02wefSolve,ga| BOOT::|logicalMatch?|
- BOOT::|subCopy0| BOOT::|patternCheck,wild|
- BOOT:|StringFromToEnd| BOOT::|beforeAfter|
- BOOT::|deepSubCopyOrNil| BOOT::|patternCheck,pos|
- BOOT:|StringGreater?| BOOT::|deepSubCopy0| BOOT::|prefix?|
- BOOT:|StringPrefix?| BOOT::|subCopyOrNil|
- BOOT::|htpSetInputAreaAlist| BOOT::|termRW1|
- BOOT::|processInteractive| BOOT::|termRW|
- BOOT::|maskMatch?| BOOT::|tdAdd| BOOT::|filterByTopic|
- BOOT::|addTopic2Documentation| BOOT::|addStats|
- BOOT::|transferCodeCon| BOOT::|compileCases|
- BOOT::|transferClassCodes| BOOT::|addArgumentConditions|
- BOOT::|NRTassignCapsuleFunctionSlot|
- BOOT::|reportSpadTrace| BOOT::BVEC-NOR BOOT::BVEC-NAND
- BOOT::|addDomain| BOOT::|giveFormalParametersValues|
- BOOT::PRINT-DEFUN BOOT::|augmentTraceNames|
- BOOT::|stripOffSubdomainConditions|
- BOOT::|untraceDomainLocalOps| BOOT::TRANSLABEL1
- BOOT::|getOption| BOOT::TRANSLABEL BOOT::|traceOptionError|
- BOOT::GET-GLIPH-TOKEN BOOT::|funfind,LAM|
- BOOT::|mergePathnames| BOOT::|subTypes| BOOT::|lassocSub|
- BOOT::|dbWordFrom| BOOT::|commandUserLevelError|
- BOOT::|applyGrep| BOOT::|htButtonOn?|
- BOOT::|generalSearchString| BOOT::|zsystemdevelopment1|
- BOOT::|grepForAbbrev| BOOT::|match?| BOOT::|commandError|
- BOOT::|optionUserLevelError| BOOT::|firstDelim| BOOT::/READ
- BOOT::|kciReduceOpAlist| BOOT::|dbInfoTran|
- BOOT::|koPageInputAreaUnchanged?| BOOT::|dbInfoWrapOrigin|
- BOOT::|insert| BOOT::|dbInfoSigMatch| BOOT::|ancestorsOf|
- BOOT::|compIterator| BOOT::|getIdentity|
- BOOT::|augmentHasArgs| BOOT::|processInteractive1|
- BOOT::|recordAndPrint| BOOT::|interpretTopLevel|
- BOOT::|substituteSegmentedMsg|
- BOOT::|dbSpecialExpandIfNecessary| BOOT::|sameUnionBranch|
- BOOT::|htpSetPageDescription| BOOT::|testBitVector|
- BOOT::|dbShowConsDoc| BOOT::|printTypeAndTimeNormal|
- BOOT::|satTypeDownLink| BOOT::|printTypeAndTimeSaturn|
- BOOT::|mkDocLink| BOOT::|addParameterTemplates|
- BOOT::|hasPair| BOOT::|htpAddToPageDescription|
- BOOT::|getAliasIfTracedMapParameter| BOOT::|pfAbSynOp?|
- BOOT::|printTypeAndTime| BOOT::|phReportMsgs|
- BOOT::|untraceDomainConstructor,keepTraced?|
- BOOT::|htpButtonValue| BOOT::|htSayConstructorName|
- BOOT::|getMapSig| BOOT::|spadTrace,isTraceable|
- BOOT::|removeOption| BOOT::|screenLocalLine|
- BOOT::|undoSteps| BOOT::|agg| BOOT::|diffAlist|
- BOOT::|undoSingleStep| BOOT::|htSayBind|
- BOOT::|bcConstructor| BOOT::|checkArgs|
- BOOT::SPADTAGS-FROM-DIRECTORY BOOT::|matSuperList1|
- BOOT::|getBindingPowerOf| BOOT::|matSubList1|
- BOOT::|matWList1| BOOT::NAG-FILES BOOT::|htpLabelDefault|
- BOOT::GET-NAG-CHAPTER BOOT::|setNAGBootAutloadProperties|
- BOOT::|htpLabelErrorMsg| BOOT::|setBootAutloadProperties|
- BOOT::|setUpDefault| BOOT::|setBootAutoLoadProperty|
- BOOT::|mkBootAutoLoad| BOOT::|matWList| VMLISP::ECQEXP
- BOOT::|npTypedForm1| BOOT::|htMakeDoitButton| BOOT::|prnd|
- BOOT::|reportAO| BOOT::BVEC-XOR BOOT::BVEC-OR
- VMLISP::DCQEXP BOOT::BVEC-AND BOOT::BVEC-GREATER
- BOOT::BVEC-EQUAL BOOT::BVEC-CONCAT BOOT::|stringLE1|
- BOOT::BVEC-MAKE-FULL BOOT::|scylla| BOOT::|mkSuperSub|
- BOOT::|EqualBarGensym| BOOT::|pfReturn| BOOT::|pfSpread|
- BOOT::|npTypedForm| BOOT::|after|
- BOOT::|optCatch,changeThrowToGo|
- BOOT::|optCatch,hasNoThrows|
- BOOT::|optCatch,changeThrowToExit|
- BOOT::|optimizeFunctionDef,replaceThrowByReturn|
- BOOT::|optCallSpecially,lookup| BOOT::|EqualBarGensym,fn|
- BOOT::|pfLp| BOOT::|optimizeFunctionDef,fn|
- BOOT::|htpSetRadioButtonAlist| BOOT::|pfWrong|
- BOOT::|pfForin| BOOT::|pfDefinition| BOOT::|pfReturnTyped|
- BOOT::|pfLam| BOOT::|pfIfThenOnly| BOOT::|pfExit|
- BOOT::|printNamedStatsByProperty| BOOT::|Delay|
- BOOT::|initializeTimedNames| BOOT::|searchTailEnv|
- BOOT::|searchCurrentEnv| BOOT::|search|
- BOOT::|e04ycfSolve,fc| BOOT::|insertWOC,fn| BOOT::|mkObj|
- VMLISP:|union| BOOT::|coerceInt| BOOT::|deleteAssocWOC|
- BOOT::|e04nafSolve,fa| BOOT::|deleteAssocWOC,fn|
- BOOT::|e04nafSolve,fb| BOOT::|deleteLassoc| BOOT::REMALIST
- BOOT::|sublisNQ| BOOT::|BooleanEquality|
- BOOT::|sublisNQ,fn| BOOT::|modemapsHavingTarget|
- BOOT::|PPtoFile| BOOT::|positionInVec|
- BOOT::|e04mbfSolve,fa| BOOT::|e04mbfSolve,fb|
- BOOT::|mkIterVarSub| BOOT::|lazyOldAxiomDomainDevaluate|
- BOOT::|lazyOldAxiomDomainHashCode| BOOT::|declare|
- BOOT::|declareMap| BOOT::|concat1| BOOT::|upfreeWithType|
- BOOT::|uplocalWithType| BOOT::|deleteAll|
- BOOT::|oldAxiomCategoryDevaluate| BOOT::|SExprToDName|
- BOOT::|oldAxiomPreCategoryDevaluate|
- BOOT::|checkForFreeVariables| BOOT::|f01rdfSolve,fa|
- BOOT::|f01rdfSolve,ga| BOOT::|oldAxiomDomainDevaluate|
- BOOT::|newHasCategory| BOOT::|orderedDefaults|
- BOOT::|f01rdfSolve,fb| BOOT::|attributeNthParent| BOOT:DROP
- BOOT::|oldAxiomDomainHashCode| BOOT::|attributeHashCode|
- BOOT::|oldAxiomPreCategoryHashCode|
- BOOT::|attributeDevaluate| BOOT::|f01refSolve,fa|
- BOOT::|f01refSolve,ga| BOOT::|oldAxiomCategoryHashCode|
- BOOT:APPLYR BOOT::|f01qcfSolve,f| BOOT::|evalLET|
- BOOT::|f01qcfSolve,g| BOOT::|domainEqual| BOOT:STRINGSUFFIX
- BOOT::|f01qefSolve,fa| BOOT::|compileIs|
- BOOT::|f01qefSolve,ga| BOOT::|f01rcfSolve,fa|
- BOOT::|f01rcfSolve,ga| BOOT:CONVERSATION
- BOOT::|evalLETchangeValue| BOOT::|isPatternMatch|
- BOOT::|seteltable| BOOT::|intSayKeyedMsg|
- BOOT::|upLispCall| BOOT::|genIFvalCode| BOOT::|evalLETput|
- BOOT::|f01qdfSolve,fb| BOOT::|f01qdfSolve,gb|
- BOOT::|intloopProcessString| BOOT::|ncloopDQlines|
- BOOT::|intloopInclude1| BOOT::|intloopInclude|
- BOOT::|upIFgenValue| BOOT::|putPvarModes|
- BOOT::|ncloopPrefix?| BOOT::|intloopPrefix?|
- BOOT::|phIntReportMsgs| BOOT::|processMsgList|
- BOOT::|phParse| BOOT:TAKE BOOT::|isPatMatch|
- BOOT::|intloopReadConsole| BOOT::|streamChop|
- BOOT::|inclFname| BOOT::|incDrop| BOOT:SETANDFILE
- BOOT:PUSH-REDUCTION BOOT::|inclmsgFileCycle|
- BOOT::|assertCond| BOOT::|incActive?| BOOT:TAILFN
- BOOT:RPLACW BOOT::|incStream| BOOT::|inclHandleSay|
- BOOT::|inclHandleWarning| BOOT:FLAGP
- BOOT::|inclHandleError| BOOT:?ORDER BOOT::|incRenumberLine|
- BOOT::|incRenumberItem| BOOT::|lnSetGlobalNum| BOOT:S*
- FOAM::ALLOC-PROG-INFO BOOT::|liftCond,lcAnd|
- BOOT::|actOnInfo| BOOT::|mkJoin| BOOT::|plural|
- BOOT::|e04ucfSolve,fb| BOOT:MAKENEWOP BOOT::|has|
- BOOT::|containedRight| BOOT::|hashTypeForm| BOOT:CONTAINED
- BOOT::|oldAxiomPreCategoryParents|
- BOOT::|oldAxiomCategoryDefaultPackage| BOOT:POINTW
- BOOT::|linearFormatForm| BOOT::|newHasAttribute|
- BOOT::|oldAxiomCategoryParentCount|
- BOOT::|findSubstitutionOrder?,fn| BOOT::|app2StringConcat0|
- BOOT::|formDecl2String| BOOT::|sayLooking1|
- BOOT::|formJoin1| BOOT::|app2StringWrap| BOOT:S-
- BOOT::|mkLessOrEqual| BOOT::|formArguments2String|
- BOOT::|putValueValue| BOOT::|asTupleNew| BOOT::|objSetVal|
- BOOT::|objNewCode| FOAM-USER::H-ERROR BOOT::|displayRule|
- BOOT::|coerceInteractive| BOOT::|canMakeTuple|
- FOAM-USER::H-STRING BOOT:CARCDREXPAND
- BOOT::|formatOpSymbol| FOAM-USER::H-INTEGER
- BOOT::|addPatternPred| BOOT::|interpMap| BOOT::|mkLocalVar|
- BOOT:/EMBED-1 BOOT::|findLocalVars1|
- BOOT::|queryUserKeyedMsg| BOOT::|mkFreeVar|
- BOOT::|findLocalVars|))
-(PROCLAIM
- '(FTYPE (FUNCTION NIL FIXNUM) BOOT::HEAPELAPSED
- BOOT:|OsProcessNumber| BOOT::KCL-OS-PROCESS-NUMBER))
-(PROCLAIM
- '(FTYPE (FUNCTION NIL (VALUES T T)) BOOT::MAKE-CLOSEDFN-NAME
- BOOT::|genVariable| BOOT::|genSomeVariable|
- BOOT::|genDomainVar| BOOT:GENVAR))
diff --git a/src/interp/intint.lisp.pamphlet b/src/interp/intint.lisp
index d132ad87..d08cc8fd 100644
--- a/src/interp/intint.lisp.pamphlet
+++ b/src/interp/intint.lisp
@@ -1,18 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp intint.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -42,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
@@ -130,13 +116,13 @@
(defun |setCurrentLine| (s)
(setq |$currentLine|
- (cond ((null |$currentLine|) s)
- ((stringp |$currentLine|)
- (cons |$currentLine|
- (if (stringp s) (cons s nil) s)))
- (t (rplacd (last |$currentLine|)
- (if (stringp s) (cons s nil) s))
- |$currentLine|))))
+ (cond ((null |$currentLine|) s)
+ ((stringp |$currentLine|)
+ (cons |$currentLine|
+ (if (stringp s) (cons s nil) s)))
+ (t (rplacd (last |$currentLine|)
+ (if (stringp s) (cons s nil) s))
+ |$currentLine|))))
(defun |intnplisp| (s)
(setq |$currentLine| s)
@@ -160,9 +146,3 @@
;;(defun |readingFile?| ()
;; |$ReadingFile|)
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/macros.lisp.pamphlet b/src/interp/macros.lisp
index 2799b0e9..b46f1864 100644
--- a/src/interp/macros.lisp.pamphlet
+++ b/src/interp/macros.lisp
@@ -1,112 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/macros.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\begin{verbatim}
-PURPOSE: Provide generally useful macros and functions for MetaLanguage
- and Boot code. Contents are organized along Common Lisp datatype
- lines, with sections numbered to match the section headings of the
- Common Lisp Reference Manual, by Guy Steele, Digital Press, 1984,
- Digital Press Order Number EY-00031-DP. This way you can
- look up the corresponding section in the manual and see if
- there isn't a cleaner and non-VM-specific way of doing things.
-
-\end{verbatim}
-
-\section{Performance change}
-
-Camm has identified a performace problem during compiles. There is
-a loop that continually adds one element to a vector. This causes
-the vector to get extended by 1 and copied. These patches fix the
-problem since vectors with fill pointers don't need to be copied.
-
-These cut out the lion's share of the gc problem
-on this compile. 30min {\tt ->} 7 min on my box. There is still some gc
-churning in cons pages due to many calls to 'list' with small n. One
-can likely improve things further with an appropriate (declare
-(:dynamic-extent ...)) in the right place -- gcl will allocate such
-lists on the C stack (very fast).
-
-\subsection{lengthenvec}
-
-The original code was:
-\begin{verbatim}
-(defun lengthenvec (v n)
- (if (adjustable-array-p v) (adjust-array v n)
- (replace (make-array n) v)))
-\end{verbatim}
-
-<<lengthenvec>>=
-(defun lengthenvec (v n)
- (if
- (and (array-has-fill-pointer-p v) (adjustable-array-p v))
- (if
- (>= n (array-total-size v))
- (adjust-array v (* n 2) :fill-pointer n)
- (progn
- (setf (fill-pointer v) n)
- v))
- (replace (make-array n :fill-pointer t) v)))
-
-@
-
-\subsection{make-init-vector}
-
-The original code was
-\begin{verbatim}
-(defun make-init-vector (n val) (make-array n :initial-element val))
-\end{verbatim}
-
-<<make-init-vector>>=
-(defun make-init-vector (n val)
- (make-array n :initial-element val :fill-pointer t))
-
-@
-
-\section{DEFUN CONTAINED}
-
-The [[CONTAINED]] predicate is used to walk internal structures
-such as modemaps to see if the $X$ object occurs within $Y$. One
-particular use is in a function called [[isPartialMode]] (see
-i-funsel.boot) to decide
-if a modemap is only partially complete. If this is true then the
-modemap will contain the constant [[$EmptyMode]]. So the call
-ends up being [[CONTAINED |$EmptyMode| Y]].
-<<DEFUN CONTAINED>>=
-#-:CCL
-(DEFUN CONTAINED (X Y)
- (if (symbolp x)
- (contained\,eq X Y)
- (contained\,equal X Y)))
-
-(defun contained\,eq (x y)
- (if (atom y) (eq x y)
- (or (contained\,eq x (car y)) (contained\,eq x (cdr y)))))
-
-(defun contained\,equal (x y)
- (cond ((atom y) (equal x y))
- ((equal x y) 't)
- ('t (or (contained\,equal x (car y)) (contained\,equal x (cdr y))))))
-
-@
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -136,9 +31,27 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
+;; PURPOSE: Provide generally useful macros and functions for MetaLanguage
+;; and Boot code. Contents are organized along Common Lisp datatype
+;; lines, with sections numbered to match the section headings of the
+;; Common Lisp Reference Manual, by Guy Steele, Digital Press, 1984,
+;; Digital Press Order Number EY-00031-DP. This way you can
+;; look up the corresponding section in the manual and see if
+;; there isn't a cleaner and non-VM-specific way of doing things.
+
+
+;; Camm has identified a performace problem during compiles. There is
+;; a loop that continually adds one element to a vector. This causes
+;; the vector to get extended by 1 and copied. These patches fix the
+;; problem since vectors with fill pointers don't need to be copied.
+;;
+;; These cut out the lion's share of the gc problem
+;; on this compile. 30min {\tt ->} 7 min on my box. There is still some gc
+;; churning in cons pages due to many calls to 'list' with small n. One
+;; can likely improve things further with an appropriate (declare
+;; (:dynamic-extent ...)) in the right place -- gcl will allocate such
+;; lists on the C stack (very fast).
+
(import-module "sys-macros")
(in-package "BOOT")
@@ -302,8 +215,8 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(defun |delete| (item sequence)
(cond ((symbolp item) (remove item sequence :test #'eq))
- ((and (atom item) (not (arrayp item))) (remove item sequence))
- (T (remove item sequence :test #'equalp))))
+ ((and (atom item) (not (arrayp item))) (remove item sequence))
+ (T (remove item sequence :test #'equalp))))
@@ -349,7 +262,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
"Returns a list of the first N elements of list X."
(COND ((EQL N 0) NIL)
((> N 0) (CONS (CAR X) (TAKE (1- N) (CDR X))))
- ((>= (setq m (+ (length x) N)) 0) (drop m x))
+ ((>= (setq m (+ (length x) N)) 0) (drop m x))
((CROAK (list "Bad args to DROP" N X)))))
(DEFUN NUMOFNODES (X) (if (ATOM X) 0 (+ 1 (NUMOFNODES (CAR X)) (NUMOFNODES (CDR X)))))
@@ -401,7 +314,21 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
; 15.5 Using Lists as Sets
-<<DEFUN CONTAINED>>
+#-:CCL
+(DEFUN CONTAINED (X Y)
+ (if (symbolp x)
+ (contained\,eq X Y)
+ (contained\,equal X Y)))
+
+(defun contained\,eq (x y)
+ (if (atom y) (eq x y)
+ (or (contained\,eq x (car y)) (contained\,eq x (cdr y)))))
+
+(defun contained\,equal (x y)
+ (cond ((atom y) (equal x y))
+ ((equal x y) 't)
+ ('t (or (contained\,equal x (car y)) (contained\,equal x (cdr y))))))
+
(DEFUN PREDECESSOR (TL L)
"Returns the sublist of L whose CDR is EQ to TL."
@@ -434,16 +361,16 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(DEFUN ADDASSOC (X Y L)
"Put the association list pair (X . Y) into L, erasing any previous association for X"
(COND ((ATOM L)
- (CONS (CONS X Y) L))
+ (CONS (CONS X Y) L))
((EQUAL X (CAAR L))
- (CONS (CONS X Y) (CDR L)))
+ (CONS (CONS X Y) (CDR L)))
((CONS (CAR L) (ADDASSOC X Y (CDR L))))))
(DEFUN DELLASOS (U V)
"Remove any assocation pair (U . X) from list V."
(COND ((ATOM V) NIL)
((EQUAL U (CAAR V))
- (CDR V))
+ (CDR V))
((CONS (CAR V) (DELLASOS U (CDR V))))))
@@ -451,11 +378,11 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(DEFUN LASSOC (X Y)
"Return the datum associated with key X in association list Y."
(PROG NIL
- A
- (COND ((ATOM Y)
- (RETURN NIL))
+ A
+ (COND ((ATOM Y)
+ (RETURN NIL))
((EQUAL (CAAR Y) X)
- (RETURN (CDAR Y))) )
+ (RETURN (CDAR Y))) )
(SETQ Y (CDR Y))
(GO A)))
@@ -463,11 +390,11 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(DEFUN |rassoc| (X Y)
"Return the key associated with datum X in association list Y."
(PROG NIL
- A
- (COND ((ATOM Y)
- (RETURN NIL))
+ A
+ (COND ((ATOM Y)
+ (RETURN NIL))
((EQUAL (CDAR Y) X)
- (RETURN (CAAR Y))) )
+ (RETURN (CAAR Y))) )
(SETQ Y (CDR Y))
(GO A)))
@@ -500,8 +427,20 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
; 17.6 Changing the Dimensions of an Array
-<<lengthenvec>>
-<<make-init-vector>>
+(defun lengthenvec (v n)
+ (if
+ (and (array-has-fill-pointer-p v) (adjustable-array-p v))
+ (if
+ (>= n (array-total-size v))
+ (adjust-array v (* n 2) :fill-pointer n)
+ (progn
+ (setf (fill-pointer v) n)
+ v))
+ (replace (make-array n :fill-pointer t) v)))
+
+(defun make-init-vector (n val)
+ (make-array n :initial-element val :fill-pointer t))
+
; 22 INPUT/OUTPUT
@@ -576,7 +515,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(defun |sayBrightly| (x &optional (out-stream *standard-output*))
(COND ((NULL X) NIL)
- (|$sayBrightlyStream| (sayBrightly1 X |$sayBrightlyStream|))
+ (|$sayBrightlyStream| (sayBrightly1 X |$sayBrightlyStream|))
((IS-CONSOLE out-stream) (sayBrightly1 X out-stream))
((sayBrightly1 X out-stream) (sayBrightly1 X *terminal-io*))))
@@ -586,7 +525,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(defun |sayBrightlyNT| (x &optional (S *standard-output*))
(COND ((NULL X) NIL)
- (|$sayBrightlyStream| (sayBrightlyNT1 X |$sayBrightlyStream|))
+ (|$sayBrightlyStream| (sayBrightlyNT1 X |$sayBrightlyStream|))
((IS-CONSOLE S) (sayBrightlyNT1 X S))
((sayBrightly1 X S) (sayBrightlyNT1 X *terminal-io*))))
@@ -595,7 +534,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(defun sayBrightly1 (X *standard-output*)
(if (ATOM X)
- (progn (BRIGHTPRINT-0 X) (TERPRI) (force-output))
+ (progn (BRIGHTPRINT-0 X) (TERPRI) (force-output))
(progn (BRIGHTPRINT X) (TERPRI) (force-output))))
(defvar |$algebraOutputStream| *standard-output*)
@@ -614,13 +553,13 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(defun |sayMSG2File| (msg)
(PROG (file str)
- (SETQ file (|makePathname| '|spadmsg| '|listing| |$listingDirectory|))
- (SETQ str
- (DEFIOSTREAM
- (CONS '(MODE . OUTPUT) (CONS (CONS 'FILE file) NIL))
- 255 0))
- (sayBrightly1 msg str)
- (SHUT str) ) )
+ (SETQ file (|makePathname| '|spadmsg| '|listing| |$listingDirectory|))
+ (SETQ str
+ (DEFIOSTREAM
+ (CONS '(MODE . OUTPUT) (CONS (CONS 'FILE file) NIL))
+ 255 0))
+ (sayBrightly1 msg str)
+ (SHUT str) ) )
(defvar |$fortranOutputStream|)
@@ -647,7 +586,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(DEFUN BLANKS (N &optional (stream *standard-output*)) "Print N blanks."
(do ((i 1 (the fixnum(1+ i))))
- ((> i N))(declare (fixnum i n)) (princ " " stream)))
+ ((> i N))(declare (fixnum i n)) (princ " " stream)))
; 23 FILE SYSTEM INTERFACE
@@ -655,8 +594,8 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
(DEFUN DEFSTREAM (file MODE)
(if (member mode '(i input))
- (MAKE-INSTREAM file)
- (MAKE-OUTSTREAM file)))
+ (MAKE-INSTREAM file)
+ (MAKE-OUTSTREAM file)))
; 23.3 Renaming, Deleting and Other File Operations
@@ -698,8 +637,8 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(defun coerce-failure-msg (val mode)
(STRCONC (MAKE-REASONABLE (STRINGIMAGE val))
- " cannot be coerced to mode "
- (STRINGIMAGE (|devaluate| mode))))
+ " cannot be coerced to mode "
+ (STRINGIMAGE (|devaluate| mode))))
(defmacro |check-subtype| (pred submode val)
`(|assert| ,pred (coerce-failure-msg ,val ,submode)))
@@ -769,7 +708,7 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
((and (symbolp (car sexpr)) (macro-function (car sexpr)))
(do ()
((not (and (consp sexpr) (symbolp (car sexpr))
- (macro-function (car sexpr)))))
+ (macro-function (car sexpr)))))
(setq sexpr (macroexpand sexpr)))
(if (consp sexpr)
(let ((a (car sexpr)) (b (caadr sexpr)))
@@ -777,7 +716,7 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(cons a (list (cons b (mapcar #'macroexpandall (cdadr sexpr)))))
(mapcar #'macroexpandall sexpr)))
sexpr))
- ('else
+ ('else
(mapcar #'macroexpandall sexpr))))
@@ -851,10 +790,10 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
;;(defun expand-tabs (str)
;; (let ((bpos (nonblankloc str))
-;; (tpos (indent-pos str)))
+;; (tpos (indent-pos str)))
;; (if (eql bpos tpos) str
;; (concatenate 'string (make-string tpos :initial-element #\space)
-;; (subseq str bpos)))))
+;; (subseq str bpos)))))
(defun expand-tabs (str)
(if (and (stringp str) (> (length str) 0))
(let ((bpos (nonblankloc str))
@@ -880,16 +819,16 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
;; returns the cons of applying func to args and a string produced
;; from standard-output while executing.
(let* ((out-stream (make-string-output-stream))
- (curoutstream out-stream)
- (|$algebraOutputStream| out-stream)
+ (curoutstream out-stream)
+ (|$algebraOutputStream| out-stream)
(erroroutstream out-stream)
- val)
+ val)
(declare (special curoutstream |$algebraOutputStream|))
(setq *standard-output* out-stream)
(setq *terminal-io* out-stream)
(setq val (catch 'spad_reader
- (catch 'TOP_LEVEL
- (apply (symbol-function func) args))))
+ (catch 'TOP_LEVEL
+ (apply (symbol-function func) args))))
(cons val (get-output-stream-string *standard-output*))))
(defun |breakIntoLines| (str)
@@ -898,7 +837,7 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(setq eol (position #\Newline str :start bol))
(if (null eol) (return))
(if (> eol bol)
- (setq line-list (cons (subseq str bol eol) line-list)))
+ (setq line-list (cons (subseq str bol eol) line-list)))
(setq bol (+ eol 1)))
(nreverse line-list)))
@@ -910,8 +849,8 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(defmacro |try| (X)
`(LET ((|$autoLine|))
- (declare (special |$autoLine|))
- (|tryToFit| (|saveState|) ,X)))
+ (declare (special |$autoLine|))
+ (|tryToFit| (|saveState|) ,X)))
(defmacro |embrace| (X) `(|wrapBraces| (|saveC|) ,X (|restoreC|)))
(defmacro |indentNB| (X) `(|wrapBraces| (|saveD|) ,X (|restoreD|)))
@@ -926,7 +865,7 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(setq state (|saveState| 't))
(or
(LET ((|$autoLine|))
- (declare (special |$autoLine|))
+ (declare (special |$autoLine|))
(and ,a (|formatRight| '|formatPreferPile| ,b ,c ,d)))
(|restoreState| state)
(and (eqcar ,b (quote seq))
@@ -950,7 +889,7 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(or
(markhash ,b 0)
(LET ((|$autoLine|))
- (declare (special |$autoLine|))
+ (declare (special |$autoLine|))
(and ,a (|formatRight| '|formatPreferPile| ,b ,c ,d)))
(|restoreState| state)
(markhash ,b 1)
@@ -979,15 +918,9 @@ terminals and empty or at-end files. In Common Lisp, we must assume record size
(defmacro |Record| (&rest x)
`(|Record0| (LIST ,@(COLLECT (IN Y X)
- (list 'CONS (MKQ (CADR Y)) (CADDR Y))))))
+ (list 'CONS (MKQ (CADR Y)) (CADDR Y))))))
(defmacro |:| (tag expr)
`(LIST '|:| ,(MKQ tag) ,expr))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/metalex.lisp b/src/interp/metalex.lisp
index aa5be9ba..06e13fc5 100644
--- a/src/interp/metalex.lisp
+++ b/src/interp/metalex.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/monitor.lisp.pamphlet b/src/interp/monitor.lisp
index 47fc8fd4..28477ea7 100644
--- a/src/interp/monitor.lisp.pamphlet
+++ b/src/interp/monitor.lisp
@@ -1,330 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp monitor.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\begin{verbatim}
-MONITOR
-
-This file contains a set of function for monitoring the execution
-of the functions in a file. It constructs a hash table that contains
-the function name as the key and monitor-data structures as the value
-
-The technique is to use a :cond parameter on trace to call the
-monitor-incr function to incr the count every time a function is called
-
-*monitor-table* HASH TABLE
- is the monitor table containing the hash entries
-*monitor-nrlibs* LIST of STRING
- list of NRLIB filenames that are monitored
-*monitor-domains* LIST of STRING
- list of domains to monitor-report (default is all exposed domains)
-monitor-data STRUCTURE
- is the defstruct name of records in the table
- name is the first field and is the name of the monitored function
- count contains a count of times the function was called
- monitorp is a flag that skips counting if nil, counts otherwise
- sourcefile is the name of the file that contains the source code
-
- ***** SETUP, SHUTDOWN ****
-
-monitor-inittable () FUNCTION
- creates the hashtable and sets *monitor-table*
- note that it is called every time this file is loaded
-monitor-end () FUNCTION
- unhooks all of the trace hooks
-
- ***** TRACE, UNTRACE *****
-
-monitor-add (name &optional sourcefile) FUNCTION
- sets up the trace and adds the function to the table
-monitor-delete (fn) FUNCTION
- untraces a function and removes it from the table
-monitor-enable (&optional fn) FUNCTION
- starts tracing for all (or optionally one) functions that
- are in the table
-monitor-disable (&optional fn) FUNCTION
- stops tracing for all (or optionally one) functions that
- are in the table
-
-***** COUNTING, RECORDING *****
-
-monitor-reset (&optional fn) FUNCTION
- reset the table count for the table (or optionally, for a function)
-monitor-incr (fn) FUNCTION
- increments the count information for a function
- it is called by trace to increment the count
-monitor-decr (fn) FUNCTION
- decrements the count information for a function
-monitor-info (fn) FUNCTION
- returns the monitor-data structure for a function
-
-***** FILE IO *****
-
-monitor-write (items file) FUNCTION
- writes a list of symbols or structures to a file
-monitor-file (file) FUNCTION
- will read a file, scan for defuns, monitor each defun
- NOTE: monitor-file assumes that the file has been loaded
-
-***** RESULTS *****
-
-monitor-results () FUNCTION
- returns a list of the monitor-data structures
-monitor-untested () FUNCTION
- returns a list of files that have zero counts
-monitor-tested (&optional delete) FUNCTION
- returns a list of files that have nonzero counts
- optionally calling monitor-delete on those functions
-
-***** CHECKPOINT/RESTORE *****
-monitor-checkpoint (file) FUNCTION
- save the *monitor-table* in a loadable form
-monitor-restore (file) FUNCTION
- restore a checkpointed file so that everything is monitored
-
-***** ALGEBRA *****
-monitor-autoload () FUNCTION
- traces autoload of algebra to monitor corresponding source files
- NOTE: this requires the /spad/int/algebra directory
-monitor-dirname (args) FUNCTION
- expects a list of 1 libstream (loadvol's arglist) and monitors the source
- this is a function called by monitor-autoload
-monitor-nrlib (nrlib) FUNCTION
- takes an nrlib name as a string (eg POLY) and returns a list of
- monitor-data structures from that source file
-monitor-report () FUNCTION
- generate a report of the monitored activity for domains in
- *monitor-domains*
-monitor-spadfile (name) FUNCTION
- given a spad file, report all NRLIBS it creates
- this adds each NRLIB name to *monitor-domains* but does not
- trace the functions from those domains
-monitor-percent () FUNCTION
- ratio of (functions executed)/(functions traced)
-monitor-apropos (str) FUNCTION
- given a string, find all monitored symbols containing the string
- the search is case-insensitive. returns a list of monitor-data items
-
-for example:
- suppose we have a file "/u/daly/testmon.lisp" that contains:
- (defun foo1 () (print 'foo1))
- (defun foo2 () (print 'foo2))
- (defun foo3 () (foo1) (foo2) (print 'foo3))
- (defun foo4 () (print 'foo4))
-
- an example session is:
-
- ; FIRST WE LOAD THE FILE (WHICH INITS *monitor-table*)
-
- >(load "/u/daly/monitor.lisp")
- Loading /u/daly/monitor.lisp
- Finished loading /u/daly/monitor.lisp
- T
-
- ; SECOND WE LOAD THE TESTMON FILE
- >(load "/u/daly/testmon.lisp")
- T
-
- ; THIRD WE MONITOR THE FILE
- >(monitor-file "/u/daly/testmon.lisp")
- monitoring "/u/daly/testmon.lisp"
- NIL
-
- ; FOURTH WE CALL A FUNCTION FROM THE FILE (BUMP ITS COUNT)
- >(foo1)
-
- FOO1
- FOO1
-
- ; AND ANOTHER FUNCTION (BUMP ITS COUNT)
- >(foo2)
-
- FOO2
- FOO2
-
- ; AND A THIRD FUNCTION THAT CALLS THE OTHER TWO (BUMP ALL THREE)
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; CHECK THAT THE RESULTS ARE CORRECT
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 2 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 2 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 1 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; STOP COUNTING CALLS TO FOO2
-
- >(monitor-disable 'foo2)
- NIL
-
- ; INVOKE FOO2 THRU FOO3
-
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; NOTICE THAT FOO1 AND FOO3 WERE BUMPED BUT NOT FOO2
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 2 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 2 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; TEMPORARILY STOP ALL MONITORING
-
- >(monitor-disable)
- NIL
-
- ; CHECK THAT NOTHING CHANGES
-
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; NO COUNT HAS CHANGED
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 3 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 2 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 2 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; MONITOR ONLY CALLS TO FOO1
-
- >(monitor-enable 'foo1)
- T
-
- ; FOO3 CALLS FOO1
-
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; FOO1 HAS CHANGED BUT NOT FOO2 OR FOO3
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 4 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 2 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 2 MONITORP NIL SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; MONITOR EVERYBODY
-
- >(monitor-enable)
- NIL
-
- ; CHECK THAT EVERYBODY CHANGES
-
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; EVERYBODY WAS BUMPED
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 5 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; WHAT FUNCTIONS WERE TESTED?
-
- >(monitor-tested)
- (FOO1 FOO2 FOO3)
-
- ; WHAT FUNCTIONS WERE NOT TESTED?
-
- >(monitor-untested)
- (FOO4)
-
- ; UNTRACE THE WHOLE WORLD, MONITORING CANNOT RESTART
-
- >(monitor-end)
- NIL
-
- ; CHECK THE RESULTS
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 5 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
- ; CHECK THAT THE FUNCTIONS STILL WORK
-
- >(foo3)
-
- FOO1
- FOO2
- FOO3
- FOO3
-
- ; CHECK THAT MONITORING IS NOT OCCURING
-
- >(monitor-results)
- (#S(MONITOR-DATA NAME FOO1 COUNT 5 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO2 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp")
- #S(MONITOR-DATA NAME FOO3 COUNT 3 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
- #S(MONITOR-DATA NAME FOO4 COUNT 0 MONITORP T SOURCEFILE
- "/u/daly/testmon.lisp"))
-
-\end{verbatim}
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -354,9 +31,6 @@ for example:
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
@@ -798,9 +472,3 @@ for example:
(push v result)))
*monitor-table*)
result))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/newaux.lisp.pamphlet b/src/interp/newaux.lisp
index 687b2fbf..8837c699 100644
--- a/src/interp/newaux.lisp.pamphlet
+++ b/src/interp/newaux.lisp
@@ -1,16 +1,36 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp newaux.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{Operator Precedence Table Initialization}
-\begin{verbatim}
+;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions are
+;; met:
+;;
+;; - Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;;
+;; - Redistributions in binary form must reproduce the above copyright
+;; notice, this list of conditions and the following disclaimer in
+;; the documentation and/or other materials provided with the
+;; distribution.
+;;
+;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+;; names of its contributors may be used to endorse or promote products
+;; derived from this software without specific prior written permission.
+;;
+;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
; PURPOSE: This file sets up properties which are used by the Boot lexical
; analyzer for bottom-up recognition of operators. Also certain
; other character-class definitions are included, as well as
@@ -23,9 +43,7 @@
; 3. RENAMETOK Table
; 4. GENERIC Table
; 5. Character syntax class predicates
-\end{verbatim}
-\subsection{LED and NUD Tables}
-\begin{verbatim}
+
; **** 1. LED and NUD Tables
; ** TABLE PURPOSE
@@ -54,8 +72,11 @@
; this is just an ordinary operator (as opposed to a surfix operator like
; if-then-else).
-\end{verbatim}
-<<LEDNUDTables>>=
+
+
+(IMPORT-MODULE "macros")
+(in-package "BOOT")
+
; ** TABLE CREATION
(defparameter OpAssoc nil
@@ -143,14 +164,12 @@
(|then| 0 114)
(|else| 0 114)))
-@
-\section{Gliph Table}
-Gliphs are symbol clumps. The gliph property of a symbol gives
-the tree describing the tokens which begin with that symbol.
-The token reader uses the gliph property to determine the longest token.
-Thus [[:=]] is read as one token not as [[:]] followed by [[=]].
-
-<<GLIPHTable>>=
+
+;; Gliphs are symbol clumps. The gliph property of a symbol gives
+;; the tree describing the tokens which begin with that symbol.
+;; The token reader uses the gliph property to determine the longest token.
+;; Thus `:=' is read as one token not as `:' followed by `='.
+
(mapcar #'(lambda (x) (makeprop (car x) 'gliph (cdr x)))
`(
( \| (\)) )
@@ -167,86 +186,27 @@ Thus [[:=]] is read as one token not as [[:]] followed by [[=]].
( ^ (=) )
( \~ (=) )
( \: (=) (-) (\:))))
-
-@
-\subsection{Rename Token Table}
-RENAMETOK defines alternate token strings which can be used for different
-keyboards which define equivalent tokens.
-<<RENAMETOKTable>>=
+
+;; RENAMETOK defines alternate token strings which can be used for different
+;; keyboards which define equivalent tokens.
+
(mapcar
#'(lambda (x) (MAKEPROP (CAR X) 'RENAMETOK (CADR X)) (MAKENEWOP X NIL))
'((\(\| \[) ; (| |) means []
(\|\) \])
(\(< \{) ; (< >) means {}
(>\) \})))
+
+;; GENERIC operators be suffixed by `$' qualifications in SPAD code.
+;; `$' is then followed by a domain label, such as I for Integer, which
+;; signifies which domain the operator refers to. For example `+$Integer'
+;; is `+' for Integers.
-@
-\subsection{Generic function table}
-GENERIC operators be suffixed by [[$]] qualifications in SPAD code.
-[[$]] is then followed by a domain label, such as I for Integer, which
-signifies which domain the operator refers to. For example [[+$Integer]]
-is [[+]] for Integers.
-<<GENERICTable>>=
(mapcar #'(lambda (x) (MAKEPROP X 'GENERIC 'TRUE))
'(- = * |rem| |mod| |quo| |div| / ** |exquo| + - < > <= >= ^= ))
-@
-\subsection{Character Syntax Table}
-<<CharacterSyntaxTable>>=
(defun SPECIALCASESYNTAX () (OR (AND (char= TOK '#\#) (DIGITP CHR))))
(defun TERMINATOR (CHR)
(member CHR '(#\ #\( #\) #\. #\; #\, #\Return)) :test #'char=)
-@
-\section{License}
-<<license>>=
-;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;; - Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;;
-;; - Redistributions in binary form must reproduce the above copyright
-;; notice, this list of conditions and the following disclaimer in
-;; the documentation and/or other materials provided with the
-;; distribution.
-;;
-;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-;; names of its contributors may be used to endorse or promote products
-;; derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-@
-<<*>>=
-<<license>>
-
-(IMPORT-MODULE "macros")
-(in-package "BOOT")
-
-<<LEDNUDTables>>
-<<GLIPHTable>>
-<<RENAMETOKTable>>
-<<GENERICTable>>
-<<CharacterSyntaxTable>>
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/nlib.lisp.pamphlet b/src/interp/nlib.lisp
index e16a57b7..e462977e 100644
--- a/src/interp/nlib.lisp.pamphlet
+++ b/src/interp/nlib.lisp
@@ -1,51 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/nlib.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{GCL code.lsp name change}
-
-When we compile an algebra file we create an NRLIB directory which contains
-several files. One of the files is named [[code.lsp]].
-On certain platforms this causes linking problems for GCL.
-The problem is that the compiler produces an init code block which is
-sensitive to the name of the source file.
-Since all of the [[code.lsp]] files have the same name all of
-the init blocks have the same name. At link time this causes
-the names to collide. Here we rename the file before we compile,
-do the compile, and then rename the result back to [[code.o]].
-This code used to read:
-but has been changed to read:
-<<code.lsp name change>>=
-#-:GCL (recompile-lib-file-if-necessary
- (concat (namestring filespec) "/code.lsp"))
-#+:GCL (let* ((base (pathname-name filespec))
- (code (concatenate 'string (namestring filespec) "/code.lsp"))
- (temp (concatenate 'string (namestring filespec) "/" base ".lsp"))
- (o (make-pathname :type "o")))
- (si::system (format nil "cp ~S ~S" code temp))
- (recompile-lib-file-if-necessary temp)
- (si::system (format nil "mv ~S ~S~%"
- (namestring (merge-pathnames o temp))
- (namestring (merge-pathnames o code)))))
-@
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -75,9 +31,6 @@ but has been changed to read:
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(IMPORT-MODULE "macros")
(in-package "BOOT")
@@ -105,34 +58,34 @@ but has been changed to read:
;; (RDEFIOSTREAM ((MODE . IO) (FILE fn ft dir))) IO is I,O,INPUT,OUTPUT
(defun rdefiostream (options &optional (missing-file-error-flag t))
(let ((mode (cdr (assoc 'mode options)))
- (file (assoc 'file options))
- (stream nil)
- (fullname nil)
- (indextable nil))
+ (file (assoc 'file options))
+ (stream nil)
+ (fullname nil)
+ (indextable nil))
(cond ((equal (elt (string mode) 0) #\I)
- ;;(setq fullname (make-input-filename (cdr file) 'LISPLIB))
- (setq fullname (make-input-filename (cdr file) 'NIL))
- (setq stream (get-input-index-stream fullname))
+ ;;(setq fullname (make-input-filename (cdr file) 'LISPLIB))
+ (setq fullname (make-input-filename (cdr file) 'NIL))
+ (setq stream (get-input-index-stream fullname))
(if (null stream)
- (if missing-file-error-flag
- (ERROR (format nil "Library ~s doesn't exist"
- ;;(make-filename (cdr file) 'LISPLIB))
- (make-filename (cdr file) 'NIL)))
- NIL)
+ (if missing-file-error-flag
+ (ERROR (format nil "Library ~s doesn't exist"
+ ;;(make-filename (cdr file) 'LISPLIB))
+ (make-filename (cdr file) 'NIL)))
+ NIL)
(make-libstream :mode 'input :dirname fullname
:indextable (get-index-table-from-stream stream)
- :indexstream stream)))
+ :indexstream stream)))
((equal (elt (string mode) 0) #\O)
- ;;(setq fullname (make-full-namestring (cdr file) 'LISPLIB))
- (setq fullname (make-full-namestring (cdr file) 'NIL))
- (case (|directoryp| fullname)
- (-1 (makedir fullname))
- (0 (error (format nil "~s is an existing file, not a library" fullname)))
- (otherwise))
- (multiple-value-setq (stream indextable) (get-io-index-stream fullname))
- (make-libstream :mode 'output :dirname fullname
- :indextable indextable
- :indexstream stream ))
+ ;;(setq fullname (make-full-namestring (cdr file) 'LISPLIB))
+ (setq fullname (make-full-namestring (cdr file) 'NIL))
+ (case (|directoryp| fullname)
+ (-1 (makedir fullname))
+ (0 (error (format nil "~s is an existing file, not a library" fullname)))
+ (otherwise))
+ (multiple-value-setq (stream indextable) (get-io-index-stream fullname))
+ (make-libstream :mode 'output :dirname fullname
+ :indextable indextable
+ :indexstream stream ))
('t (ERROR "Unknown MODE")))))
@@ -152,23 +105,23 @@ but has been changed to read:
(defun get-index-table-from-stream (stream)
(let ((pos (read stream)))
(cond ((numberp pos)
- (file-position stream pos)
- (read stream))
- (t pos))))
+ (file-position stream pos)
+ (read stream))
+ (t pos))))
(defun get-io-index-stream (dirname)
(let* ((index-file (concat dirname "/" *index-filename*))
- (stream (open index-file :direction :io :if-exists :overwrite
- :if-does-not-exist :create))
- (indextable ())
- (pos (read stream nil nil)))
+ (stream (open index-file :direction :io :if-exists :overwrite
+ :if-does-not-exist :create))
+ (indextable ())
+ (pos (read stream nil nil)))
(cond ((numberp pos)
- (file-position stream pos)
- (setq indextable (read stream))
- (file-position stream pos))
- (t (file-position stream 0)
- (princ " " stream)
- (setq indextable pos)))
+ (file-position stream pos)
+ (setq indextable (read stream))
+ (file-position stream pos))
+ (t (file-position stream 0)
+ (princ " " stream)
+ (setq indextable pos)))
(values stream indextable)))
;substitute indextable in dirname
@@ -207,50 +160,50 @@ but has been changed to read:
(defun rread (key rstream &optional (error-val nil error-val-p))
(if (equal (libstream-mode rstream) 'output) (error "not input stream"))
(let* ((entry
- (and (stringp key)
- (assoc key (libstream-indextable rstream) :test #'string=)))
- (file-or-pos (and entry (caddr entry))))
+ (and (stringp key)
+ (assoc key (libstream-indextable rstream) :test #'string=)))
+ (file-or-pos (and entry (caddr entry))))
(cond ((null entry)
- (if error-val-p error-val (error (format nil "key ~a not found" key))))
- ((null (caddr entry)) (cdddr entry)) ;; for small items
- ((numberp file-or-pos)
- (file-position (libstream-indexstream rstream) file-or-pos)
- (read (libstream-indexstream rstream)))
- (t
- (with-open-file
- (stream (concat (libstream-dirname rstream) "/" file-or-pos))
- (read stream))) )))
+ (if error-val-p error-val (error (format nil "key ~a not found" key))))
+ ((null (caddr entry)) (cdddr entry)) ;; for small items
+ ((numberp file-or-pos)
+ (file-position (libstream-indexstream rstream) file-or-pos)
+ (read (libstream-indexstream rstream)))
+ (t
+ (with-open-file
+ (stream (concat (libstream-dirname rstream) "/" file-or-pos))
+ (read stream))) )))
(defvar *lib-var*)
;; (RKEYIDS filearg) -- interned version of keys
(defun rkeyids (&rest filearg)
(mapcar #'intern (mapcar #'car (getindextable
- (make-input-filename filearg 'NIL)))))
+ (make-input-filename filearg 'NIL)))))
;;(defun rkeyids (&rest filearg)
;; (mapcar #'intern (mapcar #'car (getindextable
-;; (make-input-filename filearg 'LISPLIB)))))
+;; (make-input-filename filearg 'LISPLIB)))))
;; (RWRITE cvec item rstream)
(defun rwrite (key item rstream)
(if (equal (libstream-mode rstream) 'input) (error "not output stream"))
(let ((stream (libstream-indexstream rstream))
- (pos (if item (cons (file-position (libstream-indexstream rstream)) nil)
- (cons nil item)))) ;; for small items
+ (pos (if item (cons (file-position (libstream-indexstream rstream)) nil)
+ (cons nil item)))) ;; for small items
(make-entry (string key) rstream pos)
(when (numberp (car pos))
- (write item :stream stream :level nil :length nil
- :circle t :array t :escape t)
- (terpri stream))))
+ (write item :stream stream :level nil :length nil
+ :circle t :array t :escape t)
+ (terpri stream))))
(defun make-entry (key rstream value-or-pos)
(let ((entry (assoc key (libstream-indextable rstream) :test #'equal)))
(if (null entry)
- (push (setq entry (cons key (cons 0 value-or-pos)))
- (libstream-indextable rstream))
+ (push (setq entry (cons key (cons 0 value-or-pos)))
+ (libstream-indextable rstream))
(progn
- (if (stringp (caddr entry)) ($erase (caddr entry)))
- (setf (cddr entry) value-or-pos)))
+ (if (stringp (caddr entry)) ($erase (caddr entry)))
+ (setf (cddr entry) value-or-pos)))
entry))
;;(defun rshut (rstream)
@@ -276,24 +229,46 @@ but has been changed to read:
(defun rpackfile (filespec)
(setq filespec (make-filename filespec))
(if (string= (pathname-type filespec) "NRLIB")
-<<code.lsp name change>>
+#-:GCL (recompile-lib-file-if-necessary
+ (concat (namestring filespec) "/code.lsp"))
+
+;; When we compile an algebra file we create an NRLIB directory which contains
+;; several files. One of the files is named [[code.lsp]].
+;; On certain platforms this causes linking problems for GCL.
+;; The problem is that the compiler produces an init code block which is
+;; sensitive to the name of the source file.
+;; Since all of the [[code.lsp]] files have the same name all of
+;; the init blocks have the same name. At link time this causes
+;; the names to collide. Here we rename the file before we compile,
+;; do the compile, and then rename the result back to [[code.o]].
+;; This code used to read:
+;; but has been changed to read:
+#+:GCL (let* ((base (pathname-name filespec))
+ (code (concatenate 'string (namestring filespec) "/code.lsp"))
+ (temp (concatenate 'string (namestring filespec) "/" base ".lsp"))
+ (o (make-pathname :type "o")))
+ (si::system (format nil "cp ~S ~S" code temp))
+ (recompile-lib-file-if-necessary temp)
+ (si::system (format nil "mv ~S ~S~%"
+ (namestring (merge-pathnames o temp))
+ (namestring (merge-pathnames o code)))))
;; only pack non libraries to avoid lucid file handling problems
(let* ((rstream (rdefiostream (list (cons 'file filespec) (cons 'mode 'input))))
- (nstream nil)
- (nindextable nil)
- (nrstream nil)
- (index-file-name (concat (truename filespec) "/" *index-filename*))
- (temp-index-file-name (make-pathname :name "oldindex"
- :defaults index-file-name)))
+ (nstream nil)
+ (nindextable nil)
+ (nrstream nil)
+ (index-file-name (concat (truename filespec) "/" *index-filename*))
+ (temp-index-file-name (make-pathname :name "oldindex"
+ :defaults index-file-name)))
(rename-file index-file-name temp-index-file-name ) ;; stays until closed
(multiple-value-setq (nstream nindextable) (get-io-index-stream filespec))
(setq nrstream (make-libstream :mode 'output :dirname filespec
- :indextable nindextable
- :indexstream nstream ))
+ :indextable nindextable
+ :indexstream nstream ))
(dolist (entry (libstream-indextable rstream))
- (rwrite (car entry) (rread (car entry) rstream) nrstream)
- (if (stringp (caddr entry))
- (delete-file (concat filespec "/" (caddr entry)))))
+ (rwrite (car entry) (rread (car entry) rstream) nrstream)
+ (if (stringp (caddr entry))
+ (delete-file (concat filespec "/" (caddr entry)))))
(close (libstream-indexstream rstream))
(delete-file temp-index-file-name)
(rshut nrstream)))
@@ -305,8 +280,8 @@ but has been changed to read:
(bdate (and (probe-file bfile) (file-write-date bfile)))
(ldate (and (probe-file lfile) (file-write-date lfile))))
(if ldate
- (if (and bdate (> bdate ldate)) nil
- (progn (compile-lib-file lfile) (list bfile))))))
+ (if (and bdate (> bdate ldate)) nil
+ (progn (compile-lib-file lfile) (list bfile))))))
#+:CCL
(defun recompile-lib-file-if-necessary (lfile)
@@ -333,21 +308,21 @@ but has been changed to read:
(defun spad-fixed-arg (fname )
(and (equal (symbol-package fname) (find-package "BOOT"))
(not (get fname 'compiler::spad-var-arg))
- (search ";" (symbol-name fname))
+ (search ";" (symbol-name fname))
(or (get fname 'compiler::fixed-args)
- (setf (get fname 'compiler::fixed-args) t)))
+ (setf (get fname 'compiler::fixed-args) t)))
nil)
#+:AKCL
(defun compile-lib-file (fn &rest opts)
(unwind-protect
(progn
- (trace (compiler::fast-link-proclaimed-type-p
- :exitcond nil
- :entrycond (spad-fixed-arg (car system::arglist))))
- (trace (compiler::t1defun :exitcond nil
- :entrycond (spad-fixed-arg (caar system::arglist))))
- (apply #'compile-file fn opts))
+ (trace (compiler::fast-link-proclaimed-type-p
+ :exitcond nil
+ :entrycond (spad-fixed-arg (car system::arglist))))
+ (trace (compiler::t1defun :exitcond nil
+ :entrycond (spad-fixed-arg (caar system::arglist))))
+ (apply #'compile-file fn opts))
(untrace compiler::fast-link-proclaimed-type-p compiler::t1defun)))
#+:CCL
(define-function 'compile-lib-file #'compile-file)
@@ -362,14 +337,14 @@ but has been changed to read:
;; cms file operations
(defun make-filename (filearg &optional (filetype nil))
(let ((filetype (if (symbolp filetype)
- (symbol-name filetype)
- filetype)))
+ (symbol-name filetype)
+ filetype)))
(cond
((pathnamep filearg)
(cond ((pathname-type filearg) (namestring filearg))
- (t (namestring (make-pathname :directory (pathname-directory filearg)
- :name (pathname-name filearg)
- :type filetype)))))
+ (t (namestring (make-pathname :directory (pathname-directory filearg)
+ :name (pathname-name filearg)
+ :type filetype)))))
;; Previously, given a filename containing "." and
;; an extension this function would return filearg. MCD 23-8-95.
((and (stringp filearg) (pathname-type filearg) (null filetype)) filearg)
@@ -377,16 +352,16 @@ but has been changed to read:
;; (or (pathname-type filearg) (null filetype)))
;; filearg)
((and (stringp filearg) (stringp filetype)
- (pathname-type filearg)
- (string-equal (pathname-type filearg) filetype))
+ (pathname-type filearg)
+ (string-equal (pathname-type filearg) filetype))
filearg)
((consp filearg)
(make-filename (car filearg) (or (cadr filearg) filetype)))
(t (if (stringp filetype) (setq filetype (intern filetype "BOOT")))
- (let ((ft (or (cdr (assoc filetype $filetype-table)) filetype)))
- (if ft
- (concatenate 'string (string filearg) "." (string ft))
- (string filearg)))))))
+ (let ((ft (or (cdr (assoc filetype $filetype-table)) filetype)))
+ (if ft
+ (concatenate 'string (string filearg) "." (string ft))
+ (string filearg)))))))
(defun make-full-namestring (filearg &optional (filetype nil))
(namestring (merge-pathnames (make-filename filearg filetype))))
@@ -396,10 +371,10 @@ but has been changed to read:
(defun get-directory-list (ft &aux (cd (namestring (get-current-directory))))
(cond ((member ft '("NRLIB" "DAASE" "EXPOSED") :test #'string=)
- (if (eq |$UserLevel| '|development|)
- (cons cd $library-directory-list)
- $library-directory-list))
- (t (adjoin cd
+ (if (eq |$UserLevel| '|development|)
+ (cons cd $library-directory-list)
+ $library-directory-list))
+ (t (adjoin cd
(adjoin (namestring (user-homedir-pathname)) $directory-list
:test #'string=)
:test #'string=))))
@@ -412,11 +387,11 @@ but has been changed to read:
(dirs (get-directory-list ft))
(newfn nil))
(if (or (null dirname) (eqcar dirname :relative))
- (dolist (dir dirs (probe-name filename))
- (when
- (probe-file
- (setq newfn (concatenate 'string dir filename)))
- (return newfn)))
+ (dolist (dir dirs (probe-name filename))
+ (when
+ (probe-file
+ (setq newfn (concatenate 'string dir filename)))
+ (return newfn)))
(probe-name filename))))
(defun $FILEP (&rest filearg) (make-full-namestring filearg))
@@ -424,10 +399,10 @@ but has been changed to read:
(defun $findfile (filespec filetypelist)
(let ((file-name (if (consp filespec) (car filespec) filespec))
- (file-type (if (consp filespec) (cadr filespec) nil)))
+ (file-type (if (consp filespec) (cadr filespec) nil)))
(if file-type (push file-type filetypelist))
(some #'(lambda (ft) (make-input-filename file-name ft))
- filetypelist)))
+ filetypelist)))
;; ($ERASE filearg) -> 0 if succeeds else 1
(defun $erase (&rest filearg)
@@ -444,10 +419,10 @@ but has been changed to read:
(defun $FCOPY (filespec1 filespec2)
(let ((name1 (make-full-namestring filespec1))
- (name2 (make-full-namestring filespec2)))
+ (name2 (make-full-namestring filespec2)))
(if (library-file name1)
- (copy-lib-directory name1 name2)
- (copy-file name1 name2))))
+ (copy-lib-directory name1 name2)
+ (copy-file name1 name2))))
#+(OR :AKCL (AND :CCL :UNIX))
@@ -460,9 +435,3 @@ but has been changed to read:
(system (concat "cp " namestring1 " " namestring2)))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/nocompil.lisp.pamphlet b/src/interp/nocompil.lisp
index 6e7b6bf1..3adc630a 100644
--- a/src/interp/nocompil.lisp.pamphlet
+++ b/src/interp/nocompil.lisp
@@ -1,39 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp nocompil.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-The function {\bf protected-symbol-warn} was added because it is
-used in {\bf setvart.boot} but apparently is nowhere defined. It
-is probably primitive to {\bf CCL}.
-
-The function {\bf protect-symbols} was added because it is
-used in {\bf setvart.boot} but apparently is nowhere defined. It
-is probably primitive to {\bf CCL}.
-
-The output of these functions is just a noisy warning message
-and this has been commented out.
-\section{GCL cmpnote function}
-GCL keeps noting the fact that the compiler is performing tail-recursion.
-Bill Schelter added this as a debugging tool for Axiom and it was never
-removed. Patching the lisp code in the GCL build fails as the system
-is actually built from the pre-compiled C code. Thus, we can only step
-on this message after the fact. The cmpnote function is used nowhere
-else in GCL so stepping on the function call seems best. We're unhappy
-with this hack and will try to convince the GCL crowd to fix this.
-<<gcl-cmpnote>>=
-#+:gcl (defun compiler::cmpnote (&rest x))
-@
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -63,11 +31,28 @@ with this hack and will try to convince the GCL crowd to fix this.
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
-<<gcl-cmpnote>>
+;; The function {\bf protected-symbol-warn} was added because it is
+;; used in {\bf setvart.boot} but apparently is nowhere defined. It
+;; is probably primitive to {\bf CCL}.
+
+;; The function {\bf protect-symbols} was added because it is
+;; used in {\bf setvart.boot} but apparently is nowhere defined. It
+;; is probably primitive to {\bf CCL}.
+
+;; The output of these functions is just a noisy warning message
+;; and this has been commented out.
+;; \section{GCL cmpnote function}
+;; GCL keeps noting the fact that the compiler is performing tail-recursion.
+;; Bill Schelter added this as a debugging tool for Axiom and it was never
+;; removed. Patching the lisp code in the GCL build fails as the system
+;; is actually built from the pre-compiled C code. Thus, we can only step
+;; on this message after the fact. The cmpnote function is used nowhere
+;; else in GCL so stepping on the function call seems best. We're unhappy
+;; with this hack and will try to convince the GCL crowd to fix this.
+
+
+#+:gcl (defun compiler::cmpnote (&rest x))
(import-module "boot-pkg")
(in-package "BOOT")
@@ -90,9 +75,3 @@ with this hack and will try to convince the GCL crowd to fix this.
#+:ccl
(format t "protected-symbol-warn called with ~A~%" arg))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/nspadaux.lisp b/src/interp/nspadaux.lisp
index 299b5240..cc31a68a 100644
--- a/src/interp/nspadaux.lisp
+++ b/src/interp/nspadaux.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/obey.lisp b/src/interp/obey.lisp
index 8636fef4..9d19fa1f 100644
--- a/src/interp/obey.lisp
+++ b/src/interp/obey.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/parsing.lisp b/src/interp/parsing.lisp
index 54ee8efd..21ec9745 100644
--- a/src/interp/parsing.lisp
+++ b/src/interp/parsing.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/patches.lisp.pamphlet b/src/interp/patches.lisp
index 25dd354f..408e92d9 100644
--- a/src/interp/patches.lisp.pamphlet
+++ b/src/interp/patches.lisp
@@ -1,32 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp patches.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\subsection{toplevel}
-The function top-level is the very root of the normal invocation
-history stack. Control will pass to the restart function which is
-also in this file.
-
-For some unknown reason toplevel was redefined to incorrectly
-call lisp::unwind whereas it is defined (in this file) to be
-interned in the boot package. We've returned toplevel to its
-previous definition.
-<<toplevel>>=
-(defun toplevel (&rest foo) (throw '|top_level| '|restart|))
-;;(defun toplevel (&rest foo) (lisp::unwind))
-
-@
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -56,9 +31,6 @@ previous definition.
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
;;patches for now
@@ -82,8 +54,8 @@ previous definition.
(defun |mkAutoLoad| (fn cname)
(function (lambda (&rest args)
- (|autoLoad| fn cname)
- (apply cname args))))
+ (|autoLoad| fn cname)
+ (apply cname args))))
(setq |$printTimeIfTrue| nil)
@@ -103,7 +75,16 @@ previous definition.
(|sayKeyedMsg| 'S2IZ0070
(list (namestring *default-pathname-defaults*)))))
-<<toplevel>>
+;; The function top-level is the very root of the normal invocation
+;; history stack. Control will pass to the restart function which is
+;; also in this file.
+;; For some unknown reason toplevel was redefined to incorrectly
+;; call lisp::unwind whereas it is defined (in this file) to be
+;; interned in the boot package. We've returned toplevel to its
+;; previous definition.
+(defun toplevel (&rest foo) (throw '|top_level| '|restart|))
+;;(defun toplevel (&rest foo) (lisp::unwind))
+
(define-function 'top-level #'toplevel)
(define-function 'unwind #'|spadThrow|)
(define-function 'resume #'|spadThrow|)
@@ -147,8 +128,8 @@ previous definition.
((string= type "boot")
#-:CCL
(boot input-file
- (setq lfile (make-pathname :type "lisp"
- :defaults input-file)))
+ (setq lfile (make-pathname :type "lisp"
+ :defaults input-file)))
#+:CCL
(boot input-file
(setq lfile (make-pathname :name (pathname-name input-file)
@@ -157,7 +138,7 @@ previous definition.
((string= type "lisp") (load input-file))
((string= type "bbin") (load input-file))
((and (string= type "input")
- |$useNewParser|)
+ |$useNewParser|)
(|ncINTERPFILE| input-file Echo-Meta))
(t (spad input-file)))))
@@ -171,8 +152,8 @@ previous definition.
(setq |$algebraOutputStream|
(setq |$fortranOutputStream|
(setq |$texOutputStream|
- (setq |$formulaOutputStream|
- (setq |conOutStream| (make-synonym-stream '*terminal-io*))))))
+ (setq |$formulaOutputStream|
+ (setq |conOutStream| (make-synonym-stream '*terminal-io*))))))
;; non-interactive restarts...
(defun restart0 ()
@@ -216,7 +197,7 @@ previous definition.
(setq |$sourceFiles| ()) ;; set in readSpad2Cmd
-(setq |$localVars| ()) ;checked by isType
+(setq |$localVars| ()) ;checked by isType
(setq |$highlightFontOn| (concat " " |$boldString|))
(setq |$highlightFontOff| (concat |$normalString| " "))
@@ -240,12 +221,12 @@ previous definition.
(UNTRACE)
(|untrace| NIL)
(|clearClams|)
- ;; bind output to nulloutstream
+ ;; bind output to nulloutstream
(let ((*standard-output* (make-broadcast-stream)))
- (|resetWorkspaceVariables|))
+ (|resetWorkspaceVariables|))
(setq |$specialCharacters| |$plainRTspecialCharacters|)
- (load (make-absolute-filename "lib/interp/obey"))
+ (load (make-absolute-filename "lib/interp/obey"))
(system:disksave filename :restart-function restart-hook :full-gc t))
#+:Lucid (define-function 'user::save-system #'boot::save-system)
(defun |undoINITIALIZE| () ())
@@ -279,17 +260,17 @@ previous definition.
(setq line (read-line in nil nil))
(cond
((null line)
- (when key
- (setf (gethash key *msghash*) msg))
- (throw 'done nil))
+ (when key
+ (setf (gethash key *msghash*) msg))
+ (throw 'done nil))
((= (length line) 0))
((char= (schar line 0) #\S)
- (when key
- (setf (gethash key *msghash*) msg))
- (setq key (intern line "BOOT"))
- (setq msg ""))
+ (when key
+ (setf (gethash key *msghash*) msg))
+ (setq key (intern line "BOOT"))
+ (setq msg ""))
('else
- (setq msg (concatenate 'string msg line)))))))))
+ (setq msg (concatenate 'string msg line)))))))))
(defun |fetchKeyedMsg| (key ignore)
(declare (ignore ignore))
@@ -331,16 +312,16 @@ previous definition.
(defun |setViewportProcess| ()
(setq |$ViewportProcessToWatch|
(stringimage (CDR
- (|processInteractive| '(|key| (|%%| -2)) NIL) ))))
+ (|processInteractive| '(|key| (|%%| -2)) NIL) ))))
(defun |waitForViewport| ()
(progn
(do ()
((not (zerop (obey
- (concat
- "ps "
- |$ViewportProcessToWatch|
- " > /dev/null")))))
+ (concat
+ "ps "
+ |$ViewportProcessToWatch|
+ " > /dev/null")))))
())
(|sockSendInt| |$MenuServer| 1)
(|setIOindex| (- |$IOindex| 3))
@@ -358,7 +339,7 @@ previous definition.
(defun print-xdr-stream (x y z) (format y "XDR:~A" (xdr-stream-name x)))
#+:akcl
(defstruct (xdr-stream
- (:print-function print-xdr-stream))
+ (:print-function print-xdr-stream))
"A structure to hold XDR streams. The stream is printed out."
(handle ) ;; this is what is used for xdr-open xdr-read xdr-write
(name )) ;; this is used for printing
@@ -415,9 +396,3 @@ previous definition.
(setq echo-meta nil)
(defun /versioncheck (n) (unless (= n /MAJOR-VERSION) (throw 'versioncheck -1)))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} CMUCL {\bf src/interp/util.lisp.pamphlet}
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/postprop.lisp b/src/interp/postprop.lisp
index 30ac7248..857ec26b 100644
--- a/src/interp/postprop.lisp
+++ b/src/interp/postprop.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/preparse.lisp.pamphlet b/src/interp/preparse.lisp
index 55eb34d9..5c2cf911 100644
--- a/src/interp/preparse.lisp.pamphlet
+++ b/src/interp/preparse.lisp
@@ -1,44 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp preparse.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\begin{verbatim}
-NAME: Pre-Parsing Code
-PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
- 1. Trailing -- comments are removed (this is already done, actually).
- 2. Comments between { and } are removed.
- 3. BOOT code is column-sensitive. Code which lines up columnarly is
- parenthesized and semicolonized accordingly. For example,
-
- a
- b
- c
- d
- e
-
- becomes
-
- a
- (b;
- c
- d)
- e
-
- Note that to do this correctly, we also need to keep track of
- parentheses already in the code.
-
-\end{verbatim}
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -68,9 +31,31 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
+;; NAME: Pre-Parsing Code
+;; PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
+;; 1. Trailing -- comments are removed (this is already done, actually).
+;; 2. Comments between { and } are removed.
+;; 3. BOOT code is column-sensitive. Code which lines up columnarly is
+;; parenthesized and semicolonized accordingly. For example,
+;;
+;; a
+;; b
+;; c
+;; d
+;; e
+;;
+;; becomes
+;;
+;; a
+;; (b;
+;; c
+;; d)
+;; e
+;;
+;; Note that to do this correctly, we also need to keep track of
+;; parentheses already in the code.
+
+
(IMPORT-MODULE "fnewmeta")
@@ -113,19 +98,19 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
(defun PREPARSE (Strm &aux (stack ()))
(SETQ $COMBLOCKLIST NIL $skipme NIL)
(when $preparse-last-line
- (if (pairp $preparse-last-line)
- (setq stack $preparse-last-line)
- (push $preparse-last-line stack))
+ (if (pairp $preparse-last-line)
+ (setq stack $preparse-last-line)
+ (push $preparse-last-line stack))
(setq $INDEX (- $INDEX (length stack))))
(let ((U (PREPARSE1 stack)))
(if $skipme (preparse strm)
(progn
- (if $preparseReportIfTrue (PARSEPRINT U))
- (setq |$headerDocumentation| NIL)
- (SETQ |$docList| NIL)
- (SETQ |$maxSignatureLineNumber| 0)
- (SETQ |$constructorLineNumber| (IFCAR (IFCAR U)))
- U))))
+ (if $preparseReportIfTrue (PARSEPRINT U))
+ (setq |$headerDocumentation| NIL)
+ (SETQ |$docList| NIL)
+ (SETQ |$maxSignatureLineNumber| 0)
+ (SETQ |$constructorLineNumber| (IFCAR (IFCAR U)))
+ U))))
(defun PREPARSE1 (LineList)
(PROG (($LINELIST LineList) $EchoLineStack NUM A I L PSLOC
@@ -145,8 +130,8 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
(PREPARSE-ECHO LineList)
(setq $preparse-last-line nil) ;don't reread this line
(SETQ LINE a)
- (CATCH 'SPAD_READER (|doSystemCommand| (subseq LINE 1)))
- (GO READLOOP)))
+ (CATCH 'SPAD_READER (|doSystemCommand| (subseq LINE 1)))
+ (GO READLOOP)))
(setq L (LENGTH A))
(if (EQ L 0) (GO READLOOP))
(setq PSLOC SLOC)
@@ -197,9 +182,9 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
(when (and LINES (EQL SLOC 0))
(IF (AND NCOMBLOCK (NOT (ZEROP (CAR NCOMBLOCK))))
(FINCOMBLOCK NUM NUMS LOCS NCOMBLOCK linelist))
- (IF (NOT (IS-CONSOLE in-stream))
- (setq $preparse-last-line
- (nreverse $echolinestack)))
+ (IF (NOT (IS-CONSOLE in-stream))
+ (setq $preparse-last-line
+ (nreverse $echolinestack)))
(RETURN (PAIR (NREVERSE NUMS)
(PARSEPILES (NREVERSE LOCS) (NREVERSE LINES)))))
(cond ((> PARENLEV 0) (PUSH NIL LOCS) (setq SLOC PSLOC) (GO REREAD)))
@@ -225,22 +210,22 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
(DEFUN FINCOMBLOCK (NUM OLDNUMS OLDLOCS NCBLOCK linelist)
(PUSH
(COND ((EQL (CAR NCBLOCK) 0) (CONS (1- NUM) (REVERSE (CDR NCBLOCK))))
- ;; comment for constructor itself paired with 1st line -1
+ ;; comment for constructor itself paired with 1st line -1
('T
(COND ($EchoLineStack
(setq NUM (POP $EchoLineStack))
(PREPARSE-ECHO linelist)
(SETQ $EchoLineStack (LIST NUM))))
- (cons
+ (cons
;; scan backwards for line to left of current
- (DO ((onums oldnums (cdr onums))
- (olocs oldlocs (cdr olocs))
- (sloc (car ncblock)))
- ((null onums) nil)
- (if (and (numberp (car olocs))
- (<= (car olocs) sloc))
- (return (car onums))))
- (REVERSE (CDR NCBLOCK)))))
+ (DO ((onums oldnums (cdr onums))
+ (olocs oldlocs (cdr olocs))
+ (sloc (car ncblock)))
+ ((null onums) nil)
+ (if (and (numberp (car olocs))
+ (<= (car olocs) sloc))
+ (return (car onums))))
+ (REVERSE (CDR NCBLOCK)))))
$COMBLOCKLIST))
(defun PARSEPRINT (L)
@@ -276,7 +261,7 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
((INITIAL-SUBSTRING ")endif" LINE)
(RETURN (preparseReadLine X)))
((INITIAL-SUBSTRING ")fin" LINE)
- (RETURN (CONS IND NIL))))))
+ (RETURN (CONS IND NIL))))))
(RETURN (SKIP-IFBLOCK X)) ) )
(DEFUN SKIP-TO-ENDIF (X)
@@ -307,8 +292,8 @@ PURPOSE: BOOT lines are massaged by PREPARSE to make them easier to parse:
((INITIAL-SUBSTRING ")endif" LINE)
(RETURN (preparseReadLine X)))
((INITIAL-SUBSTRING ")fin" LINE)
- (SETQ *EOF* T)
- (RETURN (CONS IND NIL)) ) )))
+ (SETQ *EOF* T)
+ (RETURN (CONS IND NIL)) ) )))
(RETURN (CONS IND LINE)) ))
(DEFUN preparseReadLine1 (X)
@@ -412,9 +397,3 @@ C. If the entire line consists of the single keyword then or else, leave it alon
(SETELT LINE (MAXINDEX LINE) CHAR)
(if (char= CHAR #\;) LINE (suffix #\; LINE)))
((suffix char LINE))))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/property.lisp.pamphlet b/src/interp/property.lisp
index d79d44d3..08cd1b57 100644
--- a/src/interp/property.lisp.pamphlet
+++ b/src/interp/property.lisp
@@ -1,40 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/property.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\begin{verbatim}
-This file contains most of the code that puts properties on
-identifiers in the Scratchpad II system. If it was not possible
-to actually put the code here, we have pointers to where such
-property list manipulation is being done.
-
-Pointers:
-o see NEWAUX LISP for some code that puts GENERIC and RENAMETOK
- properties on identifiers for the parser
-o coerceIntCommute puts the "commute" property on constructors.
-o coerceRetract puts the "retract" property on constructors.
-o there is some code at the end of SPECEVAL BOOT that puts "up"
- properties on some special handlers.
-
-\end{verbatim}
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -64,25 +31,21 @@ o there is some code at the end of SPECEVAL BOOT that puts "up"
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-\section{bug fix}
+;; This file contains most of the code that puts properties on
+;; identifiers in the Scratchpad II system. If it was not possible
+;; to actually put the code here, we have pointers to where such
+;; property list manipulation is being done.
+
+;; Pointers:
+;; o see NEWAUX LISP for some code that puts GENERIC and RENAMETOK
+;; properties on identifiers for the parser
+;; o coerceIntCommute puts the "commute" property on constructors.
+;; o coerceRetract puts the "retract" property on constructors.
+;; o there is some code at the end of SPECEVAL BOOT that puts "up"
+;; properties on some special handlers.
-These two lines were commented out in the original sources.
-However both of these lines involved control characters that
-latex cannot handle. control-V and control-H should be the
-actual control characters, not the text replacement shown here.
-;;(control-V |parseUpArrow|)
-;;(|control-H| |parseLeftArrow|)
-<<clip>>=
-@
-We have a similar problem with the control-G character.
-;; (control-G |compContained|)
-<<clip1>>=
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
@@ -170,10 +133,10 @@ We have a similar problem with the control-G character.
(|binom| SUBSPAN |binomSub|)
(|binom| SUPERSPAN |binomSuper|)
(|binom| WIDTH |binomWidth|)
- (ALTSUPERSUB APP |altSuperSubApp|)
- (ALTSUPERSUB SUBSPAN |altSuperSubSub|)
+ (ALTSUPERSUB APP |altSuperSubApp|)
+ (ALTSUPERSUB SUBSPAN |altSuperSubSub|)
(ALTSUPERSUB SUPERSPAN |altSuperSubSuper|)
- (ALTSUPERSUB WIDTH |altSuperSubWidth|)
+ (ALTSUPERSUB WIDTH |altSuperSubWidth|)
(BOX APP |boxApp|)
(BOX SUBSPAN |boxSub|)
(BOX SUPERSPAN |boxSuper|)
@@ -190,7 +153,7 @@ We have a similar problem with the control-G character.
(MATRIX SUBSPAN |matSub|)
(MATRIX SUPERSPAN |matSuper|)
(MATRIX WIDTH |matWidth|)
- (NOTHING APP |nothingApp|)
+ (NOTHING APP |nothingApp|)
(NOTHING SUPERSPAN |nothingSuper|)
(NOTHING SUBSPAN |nothingSub|)
(NOTHING WIDTH |nothingWidth|)
@@ -208,10 +171,10 @@ We have a similar problem with the control-G character.
(PAREN SUBSPAN |qTSub|)
(PAREN SUPERSPAN |qTSuper|)
(PAREN WIDTH |qTWidth|)
- (ROOT APP |rootApp|)
- (ROOT SUBSPAN |rootSub|)
+ (ROOT APP |rootApp|)
+ (ROOT SUBSPAN |rootSub|)
(ROOT SUPERSPAN |rootSuper|)
- (ROOT WIDTH |rootWidth|)
+ (ROOT WIDTH |rootWidth|)
(ROW WIDTH |eq0|)
(SC APP |appsc|)
(SC SUBSPAN |agggsub|)
@@ -219,10 +182,10 @@ We have a similar problem with the control-G character.
(SC WIDTH |widthSC|)
(SETQ APP |appsetq|)
(SETQ WIDTH |letWidth|)
- (SLASH APP |slashApp|)
+ (SLASH APP |slashApp|)
(SLASH SUBSPAN |slashSub|)
(SLASH SUPERSPAN |slashSuper|)
- (SLASH WIDTH |slashWidth|)
+ (SLASH WIDTH |slashWidth|)
(SUB APP |appsub|)
(SUB SUBSPAN |subSub|)
(SUB SUPERSPAN |subSuper|)
@@ -400,7 +363,12 @@ We have a similar problem with the control-G character.
(\: |parseColon|)
(|::| |parseCoerce|)
(@ |parseAtSign|)
-<<clip>>
+;; These two lines were commented out in the original sources.
+;; However both of these lines involved control characters that
+;; latex cannot handle. control-V and control-H should be the
+;; actual control characters, not the text replacement shown here.
+;; ;;(control-V |parseUpArrow|)
+;; ;;(|control-H| |parseLeftArrow|)
(|and| |parseAnd|)
(CATEGORY |parseCategory|)
(|construct| |parseConstruct|)
@@ -440,7 +408,7 @@ We have a similar problem with the control-G character.
(COLLECT |postCollect|)
(|:BF:| |postBigFloat|)
(|in| |postin|) ;" the infix operator version of in"
- (IN |postIn|) ;" the iterator form of in"
+ (IN |postIn|) ;" the iterator form of in"
(REPEAT |postRepeat|)
(|TupleCollect| |postTupleCollect|)
(|add| |postAdd|)
@@ -456,7 +424,7 @@ We have a similar problem with the control-G character.
(|Join| |postJoin|)
(|Signature| |postSignature|)
(CATEGORY |postCategory|)
-;;( |postDef|)
+;;( |postDef|)
(== |postDef|)
(|==>| |postMDef|)
(|->| |postMapping|)
@@ -584,7 +552,9 @@ We have a similar problem with the control-G character.
(|:| |compColon|)
(\:\: |compCoerce|)
(QUOTE |compQuote|)
-<<clip1>>
+;; We have a similar problem with the control-G character.
+;; ;; (control-G |compContained|)
+
(|add| |compAdd|)
(CAPSULE |compCapsule|)
(|case| |compCase|)
@@ -631,9 +601,3 @@ We have a similar problem with the control-G character.
(LET |compSetqInteractive|)
)) (MAKEPROP (CAR X) 'INTERACTIVE (CREATE-SBC (CADR X))))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/setq.lisp.pamphlet b/src/interp/setq.lisp
index 6e8e580a..bc9908ac 100644
--- a/src/interp/setq.lisp.pamphlet
+++ b/src/interp/setq.lisp
@@ -1,24 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/setq.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-
-\maketitle
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -48,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(setq copyrights '(
"Copyright The Numerical Algorithms Group Limited 1991-94."
@@ -95,8 +75,8 @@
(SETQ |$compileOnlyCertainItems| NIL)
(SETQ |$devaluateList| NIL)
(SETQ |$doNotCompressHashTableIfTrue| NIL)
-(SETQ |$mutableChecking| NIL) ; used in DEFINE BOOT
-(SETQ |$mutableDomains| NIL) ; checked in DEFINE BOOT
+(SETQ |$mutableChecking| NIL) ; used in DEFINE BOOT
+(SETQ |$mutableDomains| NIL) ; checked in DEFINE BOOT
(SETQ |$functionLocations| NIL)
(SETQ |$functorLocalParameters| NIL) ; used in compSymbol
(SETQ /RELEASE '"UNKNOWN")
@@ -128,8 +108,8 @@
(SETQ INITCOLUMN 0)
(SETQ |$functionTable| NIL)
(SETQ |$spaddefs| NIL)
-(SETQ |$xeditIsConsole| NIL)
-(SETQ |$echoInputLines| NIL) ;; This is in SETVART also
+(SETQ |$xeditIsConsole| NIL)
+(SETQ |$echoInputLines| NIL) ;; This is in SETVART also
(SETQ |$Slot1DataBase| (MAKE-HASHTABLE 'ID)) ;; See NRUNTIME BOOT
(SETQ |$pfKeysForBrowse| NIL)
(SETQ MARG 0)
@@ -161,12 +141,12 @@
(SETQ |$InterpreterMacroAlist|
'((|%i| . (|complex| 0 1))
- (|%e| . (|exp| 1))
- (|%pi| . (|pi|))
- (|SF| . (|DoubleFloat|))
- (|%infinity| . (|infinity|))
- (|%plusInfinity| . (|plusInfinity|))
- (|%minusInfinity| . (|minusInfinity|))))
+ (|%e| . (|exp| 1))
+ (|%pi| . (|pi|))
+ (|SF| . (|DoubleFloat|))
+ (|%infinity| . (|infinity|))
+ (|%plusInfinity| . (|plusInfinity|))
+ (|%minusInfinity| . (|minusInfinity|))))
;; variables controlling companion pages (see copage.boot)
(SETQ |$HTCompanionWindowID| nil)
@@ -185,7 +165,7 @@
(SETQ RLGENSYMLST NIL)
(SETQ XTOKENREADER 'SPADTOK)
(SETQ |$delimiterTokenList|
- '(| | |)| |(| |{| |}| |[| |]| ENDOFLINECHR EOI EOL |END_LINE|))
+ '(| | |)| |(| |{| |}| |[| |]| ENDOFLINECHR EOI EOL |END_LINE|))
(SETQ |$generalTokenIfTrue| NIL)
(SETQ OPASSOC NIL)
(SETQ SPADSYSKEY '(EOI EOL))
@@ -214,60 +194,60 @@
;; These were originally in INIT LISP
-(SETQ |$dependeeClosureAlist| NIL)
+(SETQ |$dependeeClosureAlist| NIL)
(SETQ |$userModemaps| NIL)
(SETQ |$functorForm| NIL)
(SETQ |$InitialCommandSynonymAlist| '(
- (|?| . "what commands")
- (|ap| . "what things")
- (|apr| . "what things")
+ (|?| . "what commands")
+ (|ap| . "what things")
+ (|apr| . "what things")
(|apropos| . "what things")
- (|cache| . "set functions cache")
- (|cl| . "clear")
- (|cls| . "zsystemdevelopment )cls")
- (|cms| . "system")
- (|co| . "compiler")
- (|d| . "display")
- (|dep| . "display dependents")
+ (|cache| . "set functions cache")
+ (|cl| . "clear")
+ (|cls| . "zsystemdevelopment )cls")
+ (|cms| . "system")
+ (|co| . "compiler")
+ (|d| . "display")
+ (|dep| . "display dependents")
(|dependents| . "display dependents")
- (|e| . "edit")
+ (|e| . "edit")
(|expose| . "set expose add constructor")
- (|fc| . "zsystemdevelopment )c")
- (|fd| . "zsystemdevelopment )d")
- (|fdt| . "zsystemdevelopment )dt")
- (|fct| . "zsystemdevelopment )ct")
- (|fctl| . "zsystemdevelopment )ctl")
- (|fe| . "zsystemdevelopment )e")
- (|fec| . "zsystemdevelopment )ec")
- (|fect| . "zsystemdevelopment )ect")
- (|fns| . "exec spadfn")
+ (|fc| . "zsystemdevelopment )c")
+ (|fd| . "zsystemdevelopment )d")
+ (|fdt| . "zsystemdevelopment )dt")
+ (|fct| . "zsystemdevelopment )ct")
+ (|fctl| . "zsystemdevelopment )ctl")
+ (|fe| . "zsystemdevelopment )e")
+ (|fec| . "zsystemdevelopment )ec")
+ (|fect| . "zsystemdevelopment )ect")
+ (|fns| . "exec spadfn")
(|fortran| . "set output fortran")
- (|h| . "help")
- (|hd| . "system hypertex &")
- (|kclam| . "boot clearClams ( )")
+ (|h| . "help")
+ (|hd| . "system hypertex &")
+ (|kclam| . "boot clearClams ( )")
(|killcaches| . "boot clearConstructorAndLisplibCaches ( )")
- (|patch| . "zsystemdevelopment )patch")
- (|pause| . "zsystemdevelopment )pause")
+ (|patch| . "zsystemdevelopment )patch")
+ (|pause| . "zsystemdevelopment )pause")
(|prompt| . "set message prompt")
(|recurrence| . "set functions recurrence")
(|restore| . "history )restore")
- (|save| . "history )save")
+ (|save| . "history )save")
(|startGraphics| . "system $AXIOM/lib/viewman &")
(|startNAGLink| . "system $AXIOM/lib/nagman &")
(|stopGraphics| . "lisp (|sockSendSignal| 2 15)")
(|stopNAGLink| . "lisp (|sockSendSignal| 8 15)")
- (|time| . "set message time")
- (|type| . "set message type")
+ (|time| . "set message time")
+ (|type| . "set message type")
(|unexpose| . "set expose drop constructor")
- (|up| . "zsystemdevelopment )update")
+ (|up| . "zsystemdevelopment )update")
(|version| . "lisp *yearweek*")
- (|w| . "what")
- (|wc| . "what categories")
- (|wd| . "what domains")
+ (|w| . "what")
+ (|wc| . "what categories")
+ (|wd| . "what domains")
(|who| . "lisp (pprint credits)")
- (|wp| . "what packages")
- (|ws| . "what synonyms")
+ (|wp| . "what packages")
+ (|ws| . "what synonyms")
))
(SETQ |$CommandSynonymAlist| (COPY |$InitialCommandSynonymAlist|))
@@ -303,7 +283,7 @@
(SETQ |$tracedMapSignatures| ())
(SETQ |$highlightAllowed| 'T)
- ;" used in BRIGHTPRINT and is a )set variable"
+ ;" used in BRIGHTPRINT and is a )set variable"
(SETQ |$printStorageIfTrue| NIL) ;; storage info disabled in common lisp
@@ -349,44 +329,44 @@
;; Following were originally in EXPLORE BOOT
-(SETQ |$xdatabase| NIL)
+(SETQ |$xdatabase| NIL)
(SETQ |$CatOfCatDatabase| NIL)
(SETQ |$DomOfCatDatabase| NIL)
(SETQ |$JoinOfDomDatabase| NIL)
(SETQ |$JoinOfCatDatabase| NIL)
-(SETQ |$attributeDb| NIL)
+(SETQ |$attributeDb| NIL)
(SETQ |$abbreviateIfTrue| NIL)
-(SETQ |$deltax| 0)
-(SETQ |$deltay| 0)
-(SETQ |$displayDomains| 'T)
-(SETQ |$displayTowardAncestors| NIL)
-(SETQ |$focus| NIL)
+(SETQ |$deltax| 0)
+(SETQ |$deltay| 0)
+(SETQ |$displayDomains| 'T)
+(SETQ |$displayTowardAncestors| NIL)
+(SETQ |$focus| NIL)
(SETQ |$focusAccessPath| NIL)
(SETQ |$minimumSeparation| 3)
-(SETQ |$origMaxColumn| 80)
+(SETQ |$origMaxColumn| 80)
(SETQ |$origMaxRow| 20)
-(SETQ |$origMinColumn| 1)
+(SETQ |$origMinColumn| 1)
(SETQ |$origMinRow| 1)
;; ---- start of initial settings for variables used in test.boot
(SETQ |$testOutputLineFlag| NIL) ;; referenced by charyTop, prnd
- ;; to stash lines
+ ;; to stash lines
(SETQ |$testOutputLineStack| NIL) ;; saves lines to be printed
- ;; (needed to convert lines for use
- ;; in hypertex)
-(SETQ |$runTestFlag| NIL) ;; referenced by maPrin to stash
- ;; output by recordAndPrint to not
- ;; print type/time
-(SETQ |$mkTestFlag| NIL) ;; referenced by READLN to stash input
- ;; by maPrin to stash output
- ;; by recordAndPrint to write i/o
- ;; onto $testStream
-(SETQ |$mkTestInputStack| NIL) ;; saves input for $testStream
- ;; (see READLN)
-(SETQ |$mkTestOutputStack| NIL) ;; saves output for $testStream
- ;; (see maPrin)
+ ;; (needed to convert lines for use
+ ;; in hypertex)
+(SETQ |$runTestFlag| NIL) ;; referenced by maPrin to stash
+ ;; output by recordAndPrint to not
+ ;; print type/time
+(SETQ |$mkTestFlag| NIL) ;; referenced by READLN to stash input
+ ;; by maPrin to stash output
+ ;; by recordAndPrint to write i/o
+ ;; onto $testStream
+(SETQ |$mkTestInputStack| NIL) ;; saves input for $testStream
+ ;; (see READLN)
+(SETQ |$mkTestOutputStack| NIL) ;; saves output for $testStream
+ ;; (see maPrin)
;; ---- end of initial settings for variables used in test.boot
@@ -487,9 +467,3 @@
"Dan Zwillinger"
))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/sfsfun-l.lisp.pamphlet b/src/interp/sfsfun-l.lisp
index c7c992e0..b969fb53 100644
--- a/src/interp/sfsfun-l.lisp.pamphlet
+++ b/src/interp/sfsfun-l.lisp
@@ -1,18 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp sfsfun-l.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -42,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
(in-package "BOOT")
@@ -62,8 +48,8 @@
(defun c-to-r (c)
(let ((r (realpart c)) (i (imagpart c)))
(if (or (zerop i) (< (abs i) (* 1.0E-10 (abs r))))
- r
- (|error| "Result is not real.")) ))
+ r
+ (|error| "Result is not real.")) ))
;; Wrappers for functions in the special function package
(defun rlngamma (x) (|lnrgamma| x) )
@@ -83,9 +69,3 @@
(defun cbesseli (v z) (c-to-s (|BesselI| (s-to-c v) (s-to-c z)) ))
(defun chyper0f1 (a z) (c-to-s (|chebf01| (s-to-c a) (s-to-c z)) ))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/sockio.lisp.pamphlet b/src/interp/sockio.lisp
index 2a585267..66b8aebc 100644
--- a/src/interp/sockio.lisp.pamphlet
+++ b/src/interp/sockio.lisp
@@ -1,18 +1,7 @@
-\documentclass{article}
-\usepackage{axiom}
-\begin{document}
-\title{\$SPAD/src/interp sockio.lisp}
-\author{Timothy Daly}
-\maketitle
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-\section{License}
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -42,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
;; load C socket functions
@@ -180,10 +166,10 @@
(defconstant SessionIO 4)
(defconstant MessageServer 5)
(defconstant InterpWindow 6)
-(defconstant KillSpad 7)
-(defconstant DebugWindow 8)
+(defconstant KillSpad 7)
+(defconstant DebugWindow 8)
(defconstant NAGLinkServer 8)
-(defconstant Forker 9)
+(defconstant Forker 9)
;; same constants for use in BOOT
(defconstant |$SessionManager| SessionManager)
@@ -192,10 +178,10 @@
(defconstant |$SessionIO| SessionIO)
(defconstant |$MessageServer| MessageServer)
(defconstant |$InterpWindow| InterpWindow)
-(defconstant |$KillSpad| KillSpad)
+(defconstant |$KillSpad| KillSpad)
(defconstant |$DebugWindow| DebugWindow)
(defconstant |$NAGLinkServer| NAGLinkServer)
-(defconstant |$Forker| Forker)
+(defconstant |$Forker| Forker)
;; Session Manager action requests
@@ -210,8 +196,8 @@
(defconstant QuietSpadCommand 9)
(defconstant CloseClient 10)
(defconstant QueryClients 11)
-(defconstant QuerySpad 12)
-(defconstant NonSmanSession 13)
+(defconstant QuerySpad 12)
+(defconstant NonSmanSession 13)
(defconstant KillLispSystem 14)
(defconstant |$CreateFrame| CreateFrame)
@@ -225,27 +211,27 @@
(defconstant |$QuietSpadCommand| QuietSpadCommand)
(defconstant |$CloseClient| CloseClient)
(defconstant |$QueryClients| QueryClients)
-(defconstant |$QuerySpad| QuerySpad)
-(defconstant |$NonSmanSession| NonSmanSession)
+(defconstant |$QuerySpad| QuerySpad)
+(defconstant |$NonSmanSession| NonSmanSession)
(defconstant |$KillLispSystem| KillLispSystem)
;; signal types (from /usr/include/sys/signal.h)
#+(and :Lucid (not :ibm/370))
(progn
- (defconstant SIGUSR1 16) ;; user defined signal 1
- (defconstant SIGUSR2 17) ;; user defined signal 2
+ (defconstant SIGUSR1 16) ;; user defined signal 1
+ (defconstant SIGUSR2 17) ;; user defined signal 2
)
#+:RIOS
(progn
- (defconstant SIGUSR1 30) ;; user defined signal 1
- (defconstant SIGUSR2 31) ;; user defined signal 2
+ (defconstant SIGUSR1 30) ;; user defined signal 1
+ (defconstant SIGUSR2 31) ;; user defined signal 2
)
#+:IBMPS2
(progn
- (defconstant SIGUSR1 30) ;; user defined signal 1
- (defconstant SIGUSR2 31) ;; user defined signal 2
+ (defconstant SIGUSR1 30) ;; user defined signal 1
+ (defconstant SIGUSR2 31) ;; user defined signal 2
)
(setq |$NaNvalue| (NANQ))
@@ -255,9 +241,3 @@
(setq |$plusInfinity| MOST-POSITIVE-LONG-FLOAT)
(setq |$minusInfinity| (- |$plusInfinity|))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/spad.lisp.pamphlet b/src/interp/spad.lisp
index da3cd6a4..b1735557 100644
--- a/src/interp/spad.lisp.pamphlet
+++ b/src/interp/spad.lisp
@@ -1,25 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/spad.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -49,12 +31,8 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-
-<<*>>=
-<<license>>
-; NAME: Scratchpad Package
+; NAME: Scratchpad Package
; PURPOSE: This is an initialization and system-building file for Scratchpad.
(IMPORT-MODULE "bootlex")
@@ -136,14 +114,14 @@
(DEFUN /TRANSPAD (X)
(PROG (proplist)
- (setq proplist (LIST '(FLUID . |true|)
- (CONS '|special|
- (COPY-TREE |$InitialDomainsInScope|))))
- (SETQ |$InteractiveFrame|
- (|addBinding| '|$DomainsInScope| proplist
- (|addBinding| '|$Information| NIL
- (COPY-TREE |$InitialModemapFrame|))))
- (RETURN (PROGN (S-PROCESS X) NIL))))
+ (setq proplist (LIST '(FLUID . |true|)
+ (CONS '|special|
+ (COPY-TREE |$InitialDomainsInScope|))))
+ (SETQ |$InteractiveFrame|
+ (|addBinding| '|$DomainsInScope| proplist
+ (|addBinding| '|$Information| NIL
+ (COPY-TREE |$InitialModemapFrame|))))
+ (RETURN (PROGN (S-PROCESS X) NIL))))
;; NIL needed below since END\_UNIT is not generated by current parser
@@ -151,26 +129,26 @@
(SETQ |$compCount| 0)
(EMBED '|comp|
'(LAMBDA (X Y Z)
- (PROG (U)
- (SETQ |$compCount| (1+ |$compCount|))
- (SETQ |yesOrNo| (if (SETQ U (|comp| X Y Z))
- (if (EQUAL (SECOND U) Y) '|yes| (SECOND U))
- ('T '|no|)))
- (|sayBrightly| (CONS (MAKE-FULL-CVEC |$compCount| " ")
- (LIST X " --> " Y '|%b| |yesOrNo| '|%d|)))
- (SETQ |$compCount| (1- |$compCount|))
- (RETURN U) )))
+ (PROG (U)
+ (SETQ |$compCount| (1+ |$compCount|))
+ (SETQ |yesOrNo| (if (SETQ U (|comp| X Y Z))
+ (if (EQUAL (SECOND U) Y) '|yes| (SECOND U))
+ ('T '|no|)))
+ (|sayBrightly| (CONS (MAKE-FULL-CVEC |$compCount| " ")
+ (LIST X " --> " Y '|%b| |yesOrNo| '|%d|)))
+ (SETQ |$compCount| (1- |$compCount|))
+ (RETURN U) )))
(|comp| $x $m $f)
(UNEMBED '|comp|))
(defun READ-SPAD (FN FM TO)
(LET ((proplist
- (LIST '(FLUID . |true|)
- (CONS '|special| (COPY-TREE |$InitialDomainsInScope|)))))
+ (LIST '(FLUID . |true|)
+ (CONS '|special| (COPY-TREE |$InitialDomainsInScope|)))))
(SETQ |$InteractiveFrame|
- (|addBinding| '|$DomainsInScope| proplist
- (|addBinding| '|$Information| NIL
- (|makeInitialModemapFrame|))))
+ (|addBinding| '|$DomainsInScope| proplist
+ (|addBinding| '|$Information| NIL
+ (|makeInitialModemapFrame|))))
(READ-SPAD0 FN 'SPAD FM TO)))
(defun READ-INPUT (FN FM TO) (READ-SPAD0 FN 'INPUT FM TO))
@@ -182,8 +160,8 @@
(defun UNCONS (X)
(COND ((ATOM X) X)
- ((EQCAR X 'CONS) (CONS (SECOND X) (UNCONS (THIRD X))))
- (T (ERROR "UNCONS"))))
+ ((EQCAR X 'CONS) (CONS (SECOND X) (UNCONS (THIRD X))))
+ (T (ERROR "UNCONS"))))
(defun OPTIMIZE\&PRINT (X) (PRETTYPRINT (/MDEF X)))
@@ -191,17 +169,17 @@
(let (c msg)
(setq C (+ A B))
(setq MSG (STRCONC "(" (STRINGIMAGE A) " + " (STRINGIMAGE B)
- " = " (STRINGIMAGE C) " MS.)"))
+ " = " (STRINGIMAGE C) " MS.)"))
(PRINT (STRCONC (STRINGPAD "" (DIFFERENCE 80 (SIZE MSG))) MSG))))
(defun SPAD-MODETRAN (X) (D-TRAN X))
(defun SPAD-EVAL (X)
(COND ((ATOM X) (EVAL X))
- ((CONS (FIRST X) (MAPCAR #'SPAD-EVAL (CDR X))))))
+ ((CONS (FIRST X) (MAPCAR #'SPAD-EVAL (CDR X))))))
;************************************************************************
-; SYSTEM COMMANDS
+; SYSTEM COMMANDS
;************************************************************************
(defun CLEARDATABASE () (OBEY "ERASE MODEMAP DATABASE"))
@@ -212,9 +190,9 @@
(defun READLISP (UPPER_CASE_FG)
(let (v expr val )
(setq EXPR (READ-FROM-STRING
- (IF UPPER_CASE_FG (string-upcase (line-buffer CURRENT-LINE))
- (line-buffer CURRENT-LINE))
- t nil :start (Line-CURRENT-INDEX CURRENT-LINE)))
+ (IF UPPER_CASE_FG (string-upcase (line-buffer CURRENT-LINE))
+ (line-buffer CURRENT-LINE))
+ t nil :start (Line-CURRENT-INDEX CURRENT-LINE)))
(VMPRINT EXPR)
(setq VAL ((LAMBDA (|$InteractiveMode|) (EVAL EXPR)) NIL))
(FORMAT t "~&VALUE = ~S" VAL)
@@ -233,7 +211,7 @@
; (SETQ /EDITFILE (LIST /EDIT-FN /EDIT-FT /EDIT-FM))
(SETQ /EDITFILE L)
(COND
- (Q (/RQ))
+ (Q (/RQ))
('T (/RF)) )
(FLAG |boot-NewKEY| 'KEY)
(|terminateSystemCommand|)
@@ -248,8 +226,8 @@
(defun /COMPINTERP (L OPTS)
(SETQ /EDITFILE (/MKINFILENAM L))
(COND ((EQUAL OPTS "rf") (/RF))
- ((EQUAL OPTS "rq") (/RQ))
- ('T (/RQ-LIB)))
+ ((EQUAL OPTS "rq") (/RQ))
+ ('T (/RQ-LIB)))
(|terminateSystemCommand|)
(|spadPrompt|))
@@ -281,18 +259,18 @@
(defun GP2COND (L)
(COND ((NOT L) (ERROR "GP2COND"))
- ((NOT (CDR L))
- (COND ((EQCAR (FIRST L) 'COLON)
- (CONS (SECOND L) (LIST (LIST T 'FAIL))))
- (T (LIST (LIST T (FIRST L)))) ))
- ((EQCAR (FIRST L) 'COLON) (CONS (CDAR L) (GP2COND (CDR L))))
- (T (ERROR "GP2COND"))))
+ ((NOT (CDR L))
+ (COND ((EQCAR (FIRST L) 'COLON)
+ (CONS (SECOND L) (LIST (LIST T 'FAIL))))
+ (T (LIST (LIST T (FIRST L)))) ))
+ ((EQCAR (FIRST L) 'COLON) (CONS (CDAR L) (GP2COND (CDR L))))
+ (T (ERROR "GP2COND"))))
(FLAG JUNKTOKLIST 'KEY)
(defmacro |report| (L)
(SUBST (SECOND L) 'x
- '(COND ($reportFlag (sayBrightly x)) ((QUOTE T) NIL))))
+ '(COND ($reportFlag (sayBrightly x)) ((QUOTE T) NIL))))
(defmacro |DomainSubstitutionMacro| (&rest L)
(|DomainSubstitutionFunction| (first L) (second L)))
@@ -343,54 +321,54 @@
(defun S-PROCESS (X)
(let ((|$Index| 0)
- (*print-pretty* t)
- ($MACROASSOC ())
- ($NEWSPAD T)
- (|$compUniquelyIfTrue| nil)
- |$currentFunction|
- |$topOp|
- (|$semanticErrorStack| ())
- (|$warningStack| ())
- (|$returnMode| |$EmptyMode|)
- (|$leaveLevelStack| ())
- $TOP_LEVEL |$insideFunctorIfTrue| |$insideExpressionIfTrue|
- |$insideCoerceInteractiveHardIfTrue| |$insideWhereIfTrue|
- |$insideCategoryIfTrue| |$insideCapsuleFunctionIfTrue| |$form|
- (|$e| |$EmptyEnvironment|)
- (|$genSDVar| 0)
- (|$VariableCount| 0)
- (|$previousTime| (TEMPUS-FUGIT)))
+ (*print-pretty* t)
+ ($MACROASSOC ())
+ ($NEWSPAD T)
+ (|$compUniquelyIfTrue| nil)
+ |$currentFunction|
+ |$topOp|
+ (|$semanticErrorStack| ())
+ (|$warningStack| ())
+ (|$returnMode| |$EmptyMode|)
+ (|$leaveLevelStack| ())
+ $TOP_LEVEL |$insideFunctorIfTrue| |$insideExpressionIfTrue|
+ |$insideCoerceInteractiveHardIfTrue| |$insideWhereIfTrue|
+ |$insideCategoryIfTrue| |$insideCapsuleFunctionIfTrue| |$form|
+ (|$e| |$EmptyEnvironment|)
+ (|$genSDVar| 0)
+ (|$VariableCount| 0)
+ (|$previousTime| (TEMPUS-FUGIT)))
(prog ((CURSTRM CUROUTSTREAM) |$s| |$x| |$m| u)
- (declare (special CURSTRM |$s| |$x| |$m| CUROUTSTREAM))
- (SETQ |$exitModeStack| ())
- (SETQ |$postStack| nil)
- (SETQ |$TraceFlag| T)
- (if (NOT X) (RETURN NIL))
- (setq X (if $BOOT (DEF-RENAME (|new2OldLisp| X))
- (|parseTransform| (|postTransform| X))))
- ;; (if |$TranslateOnly| (RETURN (SETQ |$Translation| X)))
- (when |$postStack| (|displayPreCompilationErrors|) (RETURN NIL))
- (COND (|$PrintOnly|
- (format t "~S =====>~%" |$currentLine|)
- (RETURN (PRETTYPRINT X))))
- (if (NOT $BOOT)
- (if |$InteractiveMode|
- (|processInteractive| X NIL)
- (if (setq U (|compTopLevel| X |$EmptyMode|
- |$InteractiveFrame|))
- (SETQ |$InteractiveFrame| (third U))))
- (DEF-PROCESS X))
- (if |$semanticErrorStack| (|displaySemanticErrors|))
- (TERPRI))))
+ (declare (special CURSTRM |$s| |$x| |$m| CUROUTSTREAM))
+ (SETQ |$exitModeStack| ())
+ (SETQ |$postStack| nil)
+ (SETQ |$TraceFlag| T)
+ (if (NOT X) (RETURN NIL))
+ (setq X (if $BOOT (DEF-RENAME (|new2OldLisp| X))
+ (|parseTransform| (|postTransform| X))))
+ ;; (if |$TranslateOnly| (RETURN (SETQ |$Translation| X)))
+ (when |$postStack| (|displayPreCompilationErrors|) (RETURN NIL))
+ (COND (|$PrintOnly|
+ (format t "~S =====>~%" |$currentLine|)
+ (RETURN (PRETTYPRINT X))))
+ (if (NOT $BOOT)
+ (if |$InteractiveMode|
+ (|processInteractive| X NIL)
+ (if (setq U (|compTopLevel| X |$EmptyMode|
+ |$InteractiveFrame|))
+ (SETQ |$InteractiveFrame| (third U))))
+ (DEF-PROCESS X))
+ (if |$semanticErrorStack| (|displaySemanticErrors|))
+ (TERPRI))))
(MAKEPROP 'END_UNIT 'KEY T)
(defun |process| (x)
(COND ((NOT (EQ TOK 'END_UNIT))
- (SETQ DEBUGMODE 'NO)
- (SPAD_SYNTAX_ERROR)
- (if |$InteractiveMode| (|spadThrow|))
- (S-PROCESS x))))
+ (SETQ DEBUGMODE 'NO)
+ (SPAD_SYNTAX_ERROR)
+ (if |$InteractiveMode| (|spadThrow|))
+ (S-PROCESS x))))
(defun |evalSharpOne| (x \#1) (declare (special \#1)) (EVAL x))
@@ -398,12 +376,12 @@
(defun |New,ENTRY,1| ()
(let (ZZ str N RLGENSYMFG RLGENSYMLST |NewFLAG| XCAPE *PROMPT*
- SINGLELINEMODE OK ISID NBLNK COUNT CHR ULCASEFG ($LINESTACK 'BEGIN_UNIT)
- $TOKSTACK COMMENTCHR TOK LINE BACK INPUTSTREAM XTRANS
- XTOKENREADER STACK STACKX TRAPFLAG)
+ SINGLELINEMODE OK ISID NBLNK COUNT CHR ULCASEFG ($LINESTACK 'BEGIN_UNIT)
+ $TOKSTACK COMMENTCHR TOK LINE BACK INPUTSTREAM XTRANS
+ XTOKENREADER STACK STACKX TRAPFLAG)
(SETQ XTRANS '|boot-New|
- XTOKENREADER 'NewSYSTOK
- SYNTAX_ERROR 'SPAD_SYNTAX_ERROR)
+ XTOKENREADER 'NewSYSTOK
+ SYNTAX_ERROR 'SPAD_SYNTAX_ERROR)
(FLAG |boot-NewKEY| 'KEY)
(SETQ *PROMPT* 'Scratchpad-II)
(PROMPT)
@@ -415,8 +393,8 @@
(SETQ ULCASEFG T)
(setq STR (|New,ENTRY,2| '|PARSE-NewEXPR| '|process| curinstream))
(if (/= 0 (setq N (NOTE STR)))
- (progn (SETQ CURINSTREAM (POINTW N CURINSTREAM)))
- )
+ (progn (SETQ CURINSTREAM (POINTW N CURINSTREAM)))
+ )
'|END_OF_New|))
(defun |New,ENTRY,2| (RULE FN INPUTSTREAM) (declare (special INPUTSTREAM))
@@ -433,35 +411,35 @@
(defmacro try (X)
`(LET ((|$autoLine|))
- (declare (special |$autoLine|))
- (|tryToFit| (|saveState|) ,X)))
+ (declare (special |$autoLine|))
+ (|tryToFit| (|saveState|) ,X)))
(mapcar #'(lambda (X) (MAKEPROP (CAR X) 'format (CADR X)))
- '((COMMENT |formatCOMMENT|)
- (SEQ |formatSEQ|)
- (DEF |formatDEF|)
- (LET |formatLET|)
- (\: |formatColon|)
- (ELT |formatELT|)
- (SEGMENT |formatSEGMENT|)
- (COND |formatCOND|)
- (SCOND |formatSCOND|)
- (QUOTE |formatQUOTE|)
- (CONS |formatCONS|)
- (|where| |formatWHERE|)
- (APPEND |formatAPPEND|)
- (REPEAT |formatREPEAT|)
- (COLLECT |formatCOLLECT|)
- (REDUCE |formatREDUCE|)))
+ '((COMMENT |formatCOMMENT|)
+ (SEQ |formatSEQ|)
+ (DEF |formatDEF|)
+ (LET |formatLET|)
+ (\: |formatColon|)
+ (ELT |formatELT|)
+ (SEGMENT |formatSEGMENT|)
+ (COND |formatCOND|)
+ (SCOND |formatSCOND|)
+ (QUOTE |formatQUOTE|)
+ (CONS |formatCONS|)
+ (|where| |formatWHERE|)
+ (APPEND |formatAPPEND|)
+ (REPEAT |formatREPEAT|)
+ (COLLECT |formatCOLLECT|)
+ (REDUCE |formatREDUCE|)))
(defmacro |incTimeSum| (a b)
(if (not |$InteractiveTimingStatsIfTrue|) a
(let ((key b) (oldkey (gensym)) (val (gensym)))
- `(prog (,oldkey ,val)
- (setq ,oldkey (|incrementTimeSum| ,key))
- (setq ,val ,a)
- (|incrementTimeSum| ,oldkey)
- (return ,val)))))
+ `(prog (,oldkey ,val)
+ (setq ,oldkey (|incrementTimeSum| ,key))
+ (setq ,val ,a)
+ (|incrementTimeSum| ,oldkey)
+ (return ,val)))))
(defun GLESSEQP (X Y) (NOT (GGREATERP X Y)))
@@ -473,19 +451,19 @@
(DEFUN ASSOCIATER (FN LST)
(COND ((NULL LST) NIL)
- ((NULL (CDR LST)) (CAR LST))
- ((LIST FN (CAR LST) (ASSOCIATER FN (CDR LST))))))
+ ((NULL (CDR LST)) (CAR LST))
+ ((LIST FN (CAR LST) (ASSOCIATER FN (CDR LST))))))
(defun ISLOCALOP-1 (IND)
"Curindex points at character after '.'"
(prog (selector buf termtok (NEWCHR (NEXTCHARACTER)))
(if (TERMINATOR NEWCHR) (RETURN NIL))
(setq SELECTOR
- (do ((x nil))
- (nil)
- (if (terminator newchr)
- (reverse x)
- (push (setq newchr (nextcharacter)) x))))
+ (do ((x nil))
+ (nil)
+ (if (terminator newchr)
+ (reverse x)
+ (push (setq newchr (nextcharacter)) x))))
(if (EQUAL NEWCHR '\.) (RETURN (ISLOCALOP-1 IND)))
(setq BUF (GETSTR (LENGTH SELECTOR)))
(mapc #'(lambda (x) (suffix x buf)) selector)
@@ -493,7 +471,7 @@
(setq TERMTOK (INTERN BUF))
(if (NOT (GET TERMTOK 'GENERIC)) (RETURN NIL))
(if (OR (GET TERMTOK '|Led|) (GET TERMTOK '|Nud|))
- (GET TERMTOK IND))
+ (GET TERMTOK IND))
(return TERMTOK)))
; **** X. Random tables
@@ -542,7 +520,7 @@
(DEFUN DECIMAL-LENGTH (X)
(LET* ((K (FIX (* #.(LOG 2.0 10.) (INTEGER-LENGTH X))))
- (X (TRUNCATE (ABS X) (EXPT 10 (1- K)))))
+ (X (TRUNCATE (ABS X) (EXPT 10 (1- K)))))
(IF (LESSP X 10) K (1+ K))))
;(DEFUN DECIMAL-LENGTH2 (X)
@@ -581,9 +559,9 @@
(defun |hashable| (dom)
(memq (|knownEqualPred| dom)
- #-Lucid '(EQ EQL EQUAL)
- #+Lucid '(EQ EQL EQUAL EQUALP)
- ))
+ #-Lucid '(EQ EQL EQUAL)
+ #+Lucid '(EQ EQL EQUAL EQUALP)
+ ))
;; simpler interpface to RDEFIOSTREAM
(defun RDEFINSTREAM (&rest fn)
@@ -600,9 +578,3 @@
`(spadcall (svref ,dollar (the fixnum ,n))))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/spaderror.lisp.pamphlet b/src/interp/spaderror.lisp
index 618a94e4..9d0ec3d3 100644
--- a/src/interp/spaderror.lisp.pamphlet
+++ b/src/interp/spaderror.lisp
@@ -1,24 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/spaderroor.lisp} Pamphlet}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -48,9 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
;; this files contains basic routines for error handling
(in-package "BOOT")
@@ -80,8 +60,8 @@
(defmacro |trapNumericErrors| (form)
`(let ((|$oldBreakMode| |$BreakMode|)
- (|$BreakMode| '|trapNumerics|)
- (val))
+ (|$BreakMode| '|trapNumerics|)
+ (val))
(setq val (catch '|trapNumerics| ,form))
(if (eq val |$numericFailure|) val
(cons 0 val))))
@@ -98,31 +78,31 @@
(load eval)
(unembed 'system:universal-error-handler)
(embed 'system:universal-error-handler
- '(lambda (type correctable? op
- continue-string error-string &rest args)
- (block
- nil
- (setq |$NeedToSignalSessionManager| T)
- (if (and (boundp '|$inLispVM|) (boundp '|$BreakMode|))
- (cond ((eq |$BreakMode| '|validate|)
- (|systemError| (error-format error-string args)))
- ((and (eq |$BreakMode| '|trapNumerics|)
- (eq type :ERROR))
- (setq |$BreakMode| nil) (throw '|trapNumerics| |$numericFailure|))
+ '(lambda (type correctable? op
+ continue-string error-string &rest args)
+ (block
+ nil
+ (setq |$NeedToSignalSessionManager| T)
+ (if (and (boundp '|$inLispVM|) (boundp '|$BreakMode|))
+ (cond ((eq |$BreakMode| '|validate|)
+ (|systemError| (error-format error-string args)))
+ ((and (eq |$BreakMode| '|trapNumerics|)
+ (eq type :ERROR))
+ (setq |$BreakMode| nil) (throw '|trapNumerics| |$numericFailure|))
((and (eq |$BreakMode| '|trapNumerics|)
- (boundp '|$oldBreakMode|)
- (setq |$BreakMode| |$oldBreakMode|)
- nil)) ;; resets error handler
- ((and (null |$inLispVM|)
- (memq |$BreakMode| '(|nobreak| |query| |resume|)))
- (let ((|$inLispVM| T)) ;; turn off handler
- (return
- (|systemError| (error-format error-string args)))))
- ((eq |$BreakMode| '|letPrint2|)
- (setq |$BreakMode| nil)
- (throw '|letPrint2| nil))))
- (apply system:universal-error-handler type correctable? op
- continue-string error-string args )))))
+ (boundp '|$oldBreakMode|)
+ (setq |$BreakMode| |$oldBreakMode|)
+ nil)) ;; resets error handler
+ ((and (null |$inLispVM|)
+ (memq |$BreakMode| '(|nobreak| |query| |resume|)))
+ (let ((|$inLispVM| T)) ;; turn off handler
+ (return
+ (|systemError| (error-format error-string args)))))
+ ((eq |$BreakMode| '|letPrint2|)
+ (setq |$BreakMode| nil)
+ (throw '|letPrint2| nil))))
+ (apply system:universal-error-handler type correctable? op
+ continue-string error-string args )))))
@@ -133,9 +113,3 @@
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/union.lisp b/src/interp/union.lisp
index 108d5f07..6698e36d 100644
--- a/src/interp/union.lisp
+++ b/src/interp/union.lisp
@@ -1,5 +1,7 @@
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
diff --git a/src/interp/unlisp.lisp.pamphlet b/src/interp/unlisp.lisp
index 6123b927..01e722de 100644
--- a/src/interp/unlisp.lisp.pamphlet
+++ b/src/interp/unlisp.lisp
@@ -1,60 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file, despite appearance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/unlisp.lisp} Pamphlet}
-\author{Stephen M. Watt, Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-\begin{verbatim}
-Uncommon 1.6
-This package is a Boot interface for Common Lisp.
-SMW 1989, 1990
-
-Operating system interface
-
-The only non-common lisp functions used in this file are in this section.
-The following functions are provided:
-
- OsRunProgram program &rest args
- Run the named program with given arguments.
- All I/O is to the current places.
- Value returned is implementation-dependent.
-
- OsRunProgramToStream program &rest args
- Run the named program with given arguments.
- Input and error output to the current places.
- Value returned is a stream of the program's standard output.
-
- OsEnvVarCharacter
- The character which indicates OS environment variables in a string.
- On Unix this is "$".
-
- OsEnvGet name
- name is a string or a symbol
- The string associated with the given name is returned.
- This is from the environment on Unix. On CMS globalvars could be used.
-
- OsProcessNumber
- Returns a unique number associated with the current session.
- On Unix this is the process id.
- The same workspace started a second time must give a different result.
-
-\end{verbatim}
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -84,9 +31,40 @@ The following functions are provided:
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-<<*>>=
-<<license>>
+;; Uncommon 1.6
+;; This package is a Boot interface for Common Lisp.
+;; SMW 1989, 1990
+
+;; Operating system interface
+
+;; The only non-common lisp functions used in this file are in this section.
+;; The following functions are provided:
+
+;; OsRunProgram program &rest args
+;; Run the named program with given arguments.
+;; All I/O is to the current places.
+;; Value returned is implementation-dependent.
+
+;; OsRunProgramToStream program &rest args
+;; Run the named program with given arguments.
+;; Input and error output to the current places.
+;; Value returned is a stream of the program's standard output.
+
+;; OsEnvVarCharacter
+;; The character which indicates OS environment variables in a string.
+;; On Unix this is "$".
+
+;; OsEnvGet name
+;; name is a string or a symbol
+;; The string associated with the given name is returned.
+;; This is from the environment on Unix. On CMS globalvars could be used.
+
+;; OsProcessNumber
+;; Returns a unique number associated with the current session.
+;; On Unix this is the process id.
+;; The same workspace started a second time must give a different result.
+
+
(IMPORT-MODULE "sys-macros")
(in-package "BOOT")
@@ -285,8 +263,8 @@ The following functions are provided:
;;
;;(defun |ReadFileLineAt| (path pos)
;; (with-open-file (stream path :direction :input)
-;; (file-position stream pos)
-;; (read-line stream) ))
+;; (file-position stream pos)
+;; (read-line stream) ))
;;
;;(defun |UserHomeDirectory| ()
;; (pathname-directory (user-homedir-pathname)) )
@@ -1119,16 +1097,10 @@ The following functions are provided:
(let ((key-list nil))
(maphash
#'(lambda (key val) (declare (ignore val))
- (setq key-list (cons key key-list)) )
+ (setq key-list (cons key key-list)) )
tab )
key-list ))
;; CCL supplies a slightly more efficient version of logs to base 10, which
;; is useful in the WIDTH function. MCD.
#+:KCL (defun log10 (u) (log u 10))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
new file mode 100644
index 00000000..730b1df5
--- /dev/null
+++ b/src/interp/util.lisp
@@ -0,0 +1,1118 @@
+;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
+;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
+;;
+;; Redistribution and use in source and binary forms, with or without
+;; modification, are permitted provided that the following conditions are
+;; met:
+;;
+;; - Redistributions of source code must retain the above copyright
+;; notice, this list of conditions and the following disclaimer.
+;;
+;; - Redistributions in binary form must reproduce the above copyright
+;; notice, this list of conditions and the following disclaimer in
+;; the documentation and/or other materials provided with the
+;; distribution.
+;;
+;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+;; names of its contributors may be used to endorse or promote products
+;; derived from this software without specific prior written permission.
+;;
+;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+;; This file is a collection of utility functions that are useful
+;; for system level work. A couple of the functions, `build-depsys'
+;; and `build-interpsys' interface to the src/interp/Makefile.
+
+;; A second group of related functions allows us to rebuild portions
+;; of the system from the command prompt. This varies from rebuilding
+;; individual files to whole directories. The most complex functions
+;; like `makespad' can rebuild the whole algebra tree.
+
+;; A third group of related functions are used to set up the
+;; `autoload' mechanism. These enable whole subsystems to
+;; be kept out of memory until they are used.
+
+;; A fourth group of related functions are used to construct and
+;; search Emacs TAGS files.
+
+;; A fifth group of related functions are some translated boot
+;; functions we need to define here so they work and are available
+;; at load time.
+
+
+
+(IMPORT-MODULE "vmlisp")
+(import-module "parsing")
+
+(in-package "BOOT")
+(export '($directory-list $current-directory reroot
+ make-absolute-filename |$msgDatabaseName| |$defaultMsgDatabaseName|))
+
+(defun our-write-date (file) (and #+kcl (probe-file file)
+ (file-write-date file)))
+
+(defun make-directory (direc)
+ (setq direc (namestring direc))
+ (if (string= direc "") (|systemRootDirectory|)
+ (if (or (memq :unix *features*)
+ (memq 'unix *features*))
+ (progn
+ (if (char/= (char direc 0) #\/)
+ (setq direc (concat (|systemRootDirectory|) "/" direc)))
+ (if (char/= (char direc (1- (length direc))) #\/)
+ (setq direc (concat direc "/")))
+ direc)
+ (progn ;; Assume Windows conventions
+ (if (not (or (char= (char direc 0) #\/)
+ (char= (char direc 0) #\\)
+ (find #\: direc)))
+ (setq direc (concat (|systemRootDirectory|) "\\" direc)))
+ (if (not (or (char= (char direc (1- (length direc))) #\/)
+ (char= (char direc (1- (length direc))) #\\ )))
+ (setq direc (concat direc "\\")))
+ direc))))
+
+(defun interp-make-directory (direc)
+ (setq direc (namestring direc))
+ (if (string= direc "") $current-directory
+ (if (or (memq :unix *features*)
+ (memq 'unix *features*))
+ (progn
+ (if (char/= (char $current-directory (1-(length $current-directory))) #\/)
+ (setq $current-directory (concat $current-directory "/")))
+ (if (char/= (char direc 0) #\/)
+ (setq direc (concat $current-directory direc)))
+ (if (char/= (char direc (1- (length direc))) #\/)
+ (setq direc (concat direc "/")))
+ direc)
+ (progn ;; Assume Windows conventions
+ (if (not (or (char= (char $current-directory (1- (length $current-directory))) #\/)
+ (char= (char $current-directory (1- (length $current-directory))) #\\ )))
+ (setq $current-directory (concat $current-directory "\\")))
+ (if (not (or (char= (char direc 0) #\/)
+ (char= (char direc 0) #\\)
+ (find #\: direc)))
+ (setq direc (concat $current-directory direc)))
+ (if (not (or (char= (char direc (1- (length direc))) #\/)
+ (char= (char direc (1- (length direc))) #\\ )))
+ (setq direc (concat direc "\\")))
+ direc))))
+
+;; Various lisps use different ``extensions'' on the filename to indicate
+;; that a file has been compiled. We set this variable correctly depending
+;; on the system we are using.
+(defvar *bin-path*
+ #+kcl "o"
+ #+lucid "bbin"
+ #+symbolics "bin"
+ #+cmulisp "fasl"
+ #+:ccl "not done this way at all")
+
+(defun load-directory (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type *bin-path*))
+ (files (directory pattern)))
+ (mapcar #'load files)))
+
+(defun compspadfiles (filelist ;; should be a file containing files to compile
+ &optional (*default-pathname-defaults*
+ (pathname (concat (|systemRootDirectory|)
+ "nalgebra/"))))
+ (with-open-file (stream filelist)
+ (do ((fname (read-line stream nil nil) (read-line stream nil nil)))
+ ((null fname) 'done)
+ (setq fname (string-right-trim " *" fname))
+ (when (not (equal (elt fname 0) #\*))
+ (spad fname (concat (pathname-name fname) ".out"))))))
+
+(defun recompile-all-algebra-files (dir) ;; a desperation measure
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "spad"))
+ (files (directory pattern))
+ (*default-pathname-defaults* (pathname direc)))
+ (mapcar
+ #'(lambda (fname) (spad fname (concat (pathname-name fname) ".out")))
+ files)))
+
+(defun fe (function file &optional (compflag nil) &aux (fn (pathname-name file)))
+ (let ((tbootfile (concat "/tmp/" fn ".boot"))
+ (tlispfile (concat "/tmp/" fn ".lisp")))
+ (system::run-aix-program "fc"
+ :arguments (list (string function)
+ (namestring
+ (merge-pathnames file
+ (concat (|systemRootDirectory|)
+ "nboot/.boot"))))
+ :if-output-exists :supersede :output tbootfile)
+ (boot tbootfile tlispfile)
+ (if compflag (progn (compile-file tlispfile)
+ (load (make-pathname :type *bin-path* :defaults tlispfile)))
+ (load tlispfile))))
+(defun fc (function file) (fe function file t))
+
+;; This function will compile any lisp code that has changed in a directory.
+(defun recompile-directory (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "lisp"))
+ (files (directory pattern)))
+ (mapcan #'recompile-file-if-necessary files)))
+
+;; This is a helper function that checks the time stamp between
+;; the given file and its compiled binary. If the file has changed
+;; since it was last compiled this function will recompile it.
+(defun recompile-file-if-necessary (lfile)
+ (let* ((bfile (make-pathname :type *bin-path* :defaults lfile))
+ (bdate (our-write-date bfile))
+ (ldate (our-write-date lfile)))
+ (if (and bdate ldate (> bdate ldate)) nil
+ (progn
+ (format t "compiling ~a~%" lfile)
+ (compile-file lfile)
+ (list bfile)))))
+
+;; Force recompilation of all lisp files in a directory.
+(defun recompile-all-files (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "lisp"))
+ (files (directory pattern)))
+ (mapcar #'compile-file files)))
+
+
+;; Recompile library lisp code if necessary.
+(defun recompile-lib-directory (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "NRLIB"))
+ (files (directory pattern)))
+ (mapcan #'recompile-NRLIB-if-necessary files)))
+
+(defun recompile-all-libs (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "NRLIB"))
+ (files (directory pattern)))
+ (mapcar
+ #'(lambda (lib) (compile-lib-file (concat (namestring lib) "/code.lsp")))
+ files)))
+
+;; Recompile a single library's lisp file if it is out of date.
+;; The {\bf recompile-lib-file-if-necessary} is defined in nlib.lisp.
+(defun recompile-NRLIB-if-necessary (lib)
+ (recompile-lib-file-if-necessary (concat (namestring lib) "/code.lsp"))
+ (lift-NRLIB-name (namestring lib)))
+
+
+;; We used to use FOO.NRLIB/code.o files for algebra. However there
+;; was no need for this additional level of indirection since the rest
+;; of the information in an NRLIB is now kept in the daase files. Thus
+;; we lift the FOO.NRLIB/code.o to FOO.o in the final system.
+(defun lift-NRLIB-name (f)
+ (obey (concat "cp " f "/code.o " (subseq f 0 (position #\. f)) ".o"))
+ nil)
+
+;; Translate a directory of boot code to common lisp if the boot code
+;; is newer.
+(defun retranslate-directory (dir)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type "boot"))
+ (files (directory pattern)))
+ (mapcan #'retranslate-file-if-necessary files)))
+
+
+;; Retranslate a single boot file if it has been changed.
+(defun retranslate-file-if-necessary (bootfile)
+ (let* ((lfile (make-pathname :type "lisp" :defaults bootfile))
+ (ldate (our-write-date lfile))
+ (binfile (make-pathname :type *bin-path* :defaults bootfile))
+ (bindate (our-write-date binfile))
+ (bootdate (our-write-date bootfile)))
+ (if (and ldate bootdate (> ldate bootdate)) nil
+ (if (and bindate bootdate (> bindate bootdate)) nil
+ (progn (format t "translating ~a~%" bootfile)
+ (boot bootfile lfile) (list bootfile))))))
+
+
+;; TAGS are useful for finding functions if you run Emacs. We have a
+;; set of functions that construct TAGS files for Axiom.
+(defun make-tags-file ()
+#+:gcl (system:chdir "/tmp")
+#-:gcl (obey (concatenate 'string "cd " "/tmp"))
+ (obey (concat "etags " (make-absolute-filename "../../src/interp/*.lisp")))
+ (spadtags-from-directory "../../src/interp" "boot")
+ (obey "cat /tmp/boot.TAGS >> /tmp/TAGS"))
+
+(defun spadtags-from-directory (dir type)
+ (let* ((direc (make-directory dir))
+ (pattern (make-pathname :directory (pathname-directory direc)
+ :name :wild :type type))
+ (files (directory pattern)))
+ (with-open-file
+ (tagstream (concatenate 'string "/tmp/" type ".TAGS") :direction :output
+ :if-exists :supersede :if-does-not-exist :create)
+ (dolist (file files (namestring tagstream))
+ (print (list "processing:" file))
+ (write-char #\page tagstream)
+ (terpri tagstream)
+ (write-string (namestring file) tagstream)
+ (write-char #\, tagstream)
+ (princ (spadtags-from-file file) tagstream)
+ (terpri tagstream)
+ (with-open-file (stream "/tmp/*TAGS")
+ (do ((line (read-line stream nil nil)
+ (read-line stream nil nil)))
+ ((null line) nil)
+ (write-line line tagstream)))))))
+
+(defun spadtags-from-file (spadfile)
+ (with-open-file (tagstream "/tmp/*TAGS" :direction :output
+ :if-exists :supersede :if-does-not-exist :create)
+ (with-open-file (stream spadfile)
+ (do ((char-count 0 (file-position stream))
+ (line (read-line stream nil nil) (read-line stream nil nil))
+ (line-count 1 (1+ line-count)))
+ ((null line) (file-length tagstream))
+ (if (/= (length line) 0)
+ (let ((firstchar (elt line 0)) (end nil)
+ (len (length line)))
+ (cond ((member firstchar '(#\space #\{ #\} #\tab )
+ :test #'char= ) "skip")
+ ((string= line ")abb" :end1 (min 4 len))
+ (setq end (position #\space line :from-end t
+ :test-not #'eql)
+ end (and end (position #\space line :from-end t
+ :end end)))
+ (write-tag-line line tagstream end
+ line-count char-count))
+ ((char= firstchar #\)) "skip")
+ ((and (> len 1) (string= line "--" :end1 2)) "skip")
+ ((and (> len 1) (string= line "++" :end1 2)) "skip")
+ ((search "==>" line) "skip")
+ ((and (setq end (position #\space line)
+ end (or (position #\( line :end end) end)
+ end (or (position #\: line :end end) end)
+ end (or (position #\[ line :end end) end))
+ (equal end 0)) "skip")
+ ((position #\] line :end end) "skip")
+ ((string= line "SETANDFILEQ" :end1 end) "skip")
+ ((string= line "EVALANDFILEACTQ" :end1 end) "skip")
+ (t (write-tag-line line tagstream
+ (if (numberp end) (+ end 1) end)
+ line-count char-count)) )))))))
+
+(defun write-tag-line (line tagstream endcol line-count char-count)
+ (write-string line tagstream :end endcol)
+ (write-char #\rubout tagstream)
+ (princ line-count tagstream)
+ (write-char #\, tagstream)
+ (princ char-count tagstream)
+ (terpri tagstream))
+
+(defun blankcharp (c) (char= c #\Space))
+
+(defun findtag (tag &optional (tagfile (concat (|systemRootDirectory|) "/../../src/interp/TAGS")) )
+ ;; tag is an identifier
+ (with-open-file (tagstream tagfile)
+ (do ((tagline (read-line tagstream nil nil)
+ (read-line tagstream nil nil))
+ (*package* (symbol-package tag))
+ (sourcefile)
+ (stringtag (string tag))
+ (pos)
+ (tpos)
+ (type))
+ ((null tagline) ())
+ (cond ((char= (char tagline 0) #\Page)
+ (setq tagline (read-line tagstream nil nil))
+ (setq sourcefile (subseq tagline 0
+ (position #\, tagline)))
+ (setq type (pathname-type sourcefile)))
+ ((string= type "lisp")
+ (if (match-lisp-tag tag tagline)
+ (return (cons sourcefile tagline))))
+ ((> (mismatch ")abb" tagline) 3)
+ (setq pos (position #\Space tagline :start 3))
+ (setq pos (position-if-not #'blankcharp tagline
+ :start pos))
+ (setq pos (position #\Space tagline :start pos))
+ (setq pos (position-if-not #'blankcharp tagline
+ :start pos))
+ (setq tpos (mismatch stringtag tagline :start2 pos))
+ (if (and (= tpos (length (string tag)))
+ (member (char tagline (+ pos tpos)) '(#\Space #\Rubout)))
+ (return (cons sourcefile tagline))))
+ ((setq pos (mismatch stringtag tagline))
+ (if (and (= pos (length stringtag))
+ (> (length tagline) pos)
+ (member (char tagline pos)
+ '( #\Space #\( #\:) ))
+ (return (cons sourcefile tagline))))))))
+
+(defun match-lisp-tag (tag tagline &optional (prefix nil)
+ &aux (stringtag (string tag)) pos tpos)
+ (when (and (if prefix
+ (= (mismatch prefix tagline :test #'char-equal)
+ (length prefix))
+ t)
+ (numberp (setq pos (position #\Space tagline)))
+ (numberp (setq pos (position-if-not #'blankcharp tagline
+ :start pos))))
+ (if (char= (char tagline pos) #\') (incf pos))
+ (if (member (char tagline pos) '( #\\ #\|))
+ (setq tpos (1+ pos))
+ (setq tpos pos))
+ (and (= (mismatch stringtag tagline :start2 tpos :test #'char-equal)
+ (length stringtag))
+ (eq tag (read-from-string tagline nil nil :start pos))) ))
+
+;; Translate a single boot file to common lisp, compile it
+;; and load it.
+(defun compile-boot-file (file)
+ "compile and load a boot file"
+ (boot (concat file ".boot") (concat file ".lisp"))
+#+:AKCL
+ (compile-file (concat file ".lisp"))
+#+:AKCL
+ (load (concat file "." *bin-path*))
+#+:CCL
+ (load (concat file ".lisp"))
+)
+
+
+;; Translate a single boot file to common lisp
+(defun translate (file) ;; translates a single boot file
+#+:CCL
+ (setq *package* (find-package "BOOT"))
+#+:AKCL
+ (in-package "BOOT")
+ (let (*print-level* *print-length* (fn (pathname-name file))
+ (bootfile (merge-pathnames file (concat (|systemRootDirectory|) "nboot/.boot"))))
+ (declare (special *print-level* *print-length*))
+ (boot bootfile (make-pathname :type "lisp" :defaults bootfile))))
+
+
+;; Translate a list of boot files to common lisp.
+(defun translist (fns)
+ (mapcar #'(lambda (f) (format t "translating ~a~%" (concat f ".boot"))
+ (translate f))
+ fns))
+
+
+;; The relative directory list specifies a search path for files
+;; for the current directory structure. It has been changed from the
+;; NAG distribution back to the original form.
+(defvar $relative-directory-list
+ '("/../../src/input/"
+ "/share/msgs/"
+ "/../../src/algebra/"
+ "/../../src/interp/" ; for boot and lisp files (helps fd)
+ "/doc/spadhelp/" ))
+
+;; The relative directory list specifies how to find the algebra
+;; directory from the current {\bf AXIOM} shell variable.
+(defvar $relative-library-directory-list '("/algebra/"))
+
+(in-package "OLD-BOOT")
+
+(defun boot (file) ;; translates a single boot file
+#+:CCL
+ (setq *package* (find-package "BOOT"))
+#+:AKCL
+ (in-package "BOOT")
+ (let (*print-level*
+ *print-length*
+ (fn (pathname-name file))
+ (*print-pretty* t))
+ (declare (special *print-level* *print-length*))
+ (boot::boot
+ file
+ (merge-pathnames (make-pathname :type "clisp") file))))
+
+
+(in-package "BOOT")
+
+;; This is a little used subsystem to generate {\bf ALDOR} code
+;; from {\bf Spad} code. Frankly, I'd be amazed if it worked.
+(setq translate-functions '(
+;; .spad to .as translator, in particular
+;; loadtranslate
+ |spad2AsTranslatorAutoloadOnceTrigger|
+ ))
+
+;; This is part of the {\bf ALDOR subsystem}. These will be loaded
+;; if you compile a {\bf .as} file rather than a {\bf .spad} file.
+;; {\bf ALDOR} is an external compiler that gets automatically called
+;; if the file extension is {\bf .as}.
+(setq asauto-functions '(
+ loadas
+;; |as| ;; now in as.boot
+;; |astran| ;; now in as.boot
+ |spad2AxTranslatorAutoloadOnceTrigger|
+ |sourceFilesToAxcliqueAxFile|
+ |sourceFilesToAxFile|
+ |setExtendedDomains|
+ |makeAxFile|
+ |makeAxcliqueAxFile|
+ |nrlibsToAxFile|
+ |attributesToAxFile| ))
+
+;; These are some {\bf debugging} functions that I use. I can't imagine
+;; why you might autoload them but they don't need to be in a running
+;; system.
+(setq debug-functions '(
+ loaddebug
+ |showSummary|
+ |showPredicates|
+ |showAttributes|
+ |showFrom|
+ |showImp|))
+
+;; The {\bf ANNA} subsystem, invoked thru {\bf hypertex}, is an
+;; expert system that understands the Numerical Algorithms Group (NAG)
+;; fortran library.
+(setq anna-functions '(
+ |annaInt|
+ |annaMInt|
+ |annaOde|
+ |annaOpt|
+ |annaOpt2|
+ |annaPDESolve|
+ |annaOptDefaultSolve1|
+ |annaOptDefaultSolve2|
+ |annaOptDefaultSolve3|
+ |annaOptDefaultSolve4|
+ |annaOptDefaultSolve5|
+ |annaOpt2DefaultSolve|
+ |annaFoo|
+ |annaBar|
+ |annaJoe|
+ |annaSue|
+ |annaAnn|
+ |annaBab|
+ |annaFnar|
+ |annaDan|
+ |annaBlah|
+ |annaTub|
+ |annaRats|
+ |annaMInt|
+ |annaOdeDefaultSolve1|
+ |annaOdeDefaultSolve2|))
+
+;; The Numerical Algorithms Group (NAG) fortran library has a set
+;; of cover functions. These functions need to be loaded if you use
+;; the NAG library.
+(setq nagbr-functions '(
+ loadnag
+ |c02aff| |c02agf|
+ |c05adf| |c05nbf| |c05pbf|
+ |c06eaf| |c06ebf| |c06ecf| |c06ekf| |c06fpf| |c06fqf| |c06frf|
+ |c06fuf| |c06gbf| |c06gcf| |c06gqf| |c06gsf|
+ |d01ajf| |d01akf| |d01alf| |d01amf| |d01anf| |d01apf| |d01aqf|
+ |d01asf| |d01bbf| |d01fcf| |d01gaf| |d01gbf|
+ |d02bbf| |d02bhf| |d02cjf| |d02ejf| |d02gaf| |d02gbf| |d02kef|
+ |d02raf|
+ |d03edf| |d03eef| |d03faf|
+ |e01baf| |e01bef| |e01bff| |e01bgf| |e01bhf| |e01daf| |e01saf|
+ |e01sbf| |e01sef|
+ |e02adf| |e02aef| |e02agf| |e02ahf| |e02ajf| |e02akf| |e02baf|
+ |e02bbf| |e02bcf| |e02bdf| |e02bef| |e02daf| |e02dcf|
+ |e02ddf| |e02def| |e02dff| |e02gaf| |e02zaf|
+ |e04dgf| |e04fdf| |e04gcf| |e04jaf| |e04mbf| |e04naf| |e04ucf|
+ |e04ycf|
+ |f01brf| |f01bsf| |f01maf| |f01mcf| |f01qcf| |f01qdf| |f01qef|
+ |f01rcf| |f01rdf| |f01ref|
+ |f02aaf| |f02abf| |f02adf| |f02aef| |f02aff| |f02agf| |f02ajf|
+ |f02akf| |f02awf| |f02axf| |f02bbf| |f02bjf| |f02fjf|
+ |f02wef| |f02xef|
+ |f04adf| |f04arf| |f04asf| |f04atf| |f04axf| |f04faf| |f04jgf|
+ |f04maf| |f04mbf| |f04mcf| |f04qaf|
+ |f07adf| |f07aef| |f07fdf| |f07fef|
+ |s01eaf| |s13aaf| |s13acf| |s13adf| |s14aaf| |s14abf| |s14baf|
+ |s15adf| |s15aef| |s17acf| |s17adf| |s17aef| |s17aff|
+ |s17agf| |s17ahf| |s17ajf| |s17akf| |s17dcf| |s17def|
+ |s17dgf| |s17dhf| |s17dlf| |s18acf| |s18adf| |s18aef|
+ |s18aff| |s18dcf| |s18def| |s19aaf| |s19abf| |s19acf|
+ |s19adf| |s20acf| |s20adf| |s21baf| |s21bbf| |s21bcf|
+ |s21bdf|
+ ))
+
+
+;; This function is called by {\bf build-interpsys}. It takes two lists.
+;; The first is a list of functions that need to be used as
+;; ``autoload triggers''. The second is a list of files to load if one
+;; of the trigger functions is called. At system build time each of the
+;; functions in the first list is set up to load every file in the second
+;; list. In this way we will automatically load a whole subsystem if we
+;; touch any function in that subsystem. We call a helper function
+;; called {\bf setBootAutoLoadProperty} to set up the autoload trigger.
+;; This helper function is listed below.
+(defun |setBootAutloadProperties| (fun-list file-list)
+#+:AKCL
+ (mapc #'(lambda (fun) (|setBootAutoLoadProperty| fun file-list)) fun-list)
+#+:CCL
+ (mapc #'(lambda (fun) (lisp::set-autoload fun file-list)) fun-list)
+)
+
+
+;; This function knows where the {\bf autoload} subdirectory lives.
+;; It is called by {\bf mkBootAutoLoad} above to find the necessary
+;; files.
+(defun boot-load (file)
+ (let ((name (concat (|systemRootDirectory|)
+ "/autoload/"
+ (pathname-name file))))
+ (if |$printLoadMsgs|
+ (format t " Loading ~A.~%" name))
+ (load name)))
+
+;; This is a helper function to set up the autoload trigger. It sets
+;; the function cell of each symbol to {\bf mkBootAutoLoad} which is
+;; listed below.
+(defun |setBootAutoLoadProperty| (func file-list)
+ (setf (symbol-function func) (|mkBootAutoLoad| func file-list)) )
+
+;; This is how the autoload magic happens. Every function named in the
+;; autoload lists is actually just another name for this function. When
+;; the named function is called we call {\bf boot-load} on all of the
+;; files in the subsystem. This overwrites all of the autoload triggers.
+;; We then look up the new (real) function definition and call it again
+;; with the real arguments. Thus the subsystem loads and the original
+;; call succeeds.
+(defun |mkBootAutoLoad| (fn file-list)
+ (function (lambda (&rest args)
+ (mapc #'boot-load file-list)
+ (unless (string= (subseq (string fn) 0 4) "LOAD")
+ (apply (symbol-function fn) args)))))
+
+;############################################################################
+;# autoload dependencies
+;#
+;# if you are adding a file which is to be autoloaded the following step
+;# information is useful:
+;# there are 2 cases:
+;# 1) adding files to currently autoloaded parts
+;# (as of 2/92: browser old parser and old compiler)
+;# 2) adding new files
+;# case 1:
+;# a) you have to add the file to the list of files currently there
+;# (e.g. see BROBJS above)
+;# b) add an autolaod rule
+;# (e.g. ${AUTO}/parsing.${O}: ${OUT}/parsing.${O})
+;# c) edit util.lisp to add the 'external' function (those that
+;# should trigger the autoload
+;# case 2:
+;# build-interpsys (in util.lisp) needs an extra argument for the
+;# new autoload things and several functions in util.lisp need hacking.
+;############################################################################
+
+;; The `build-interpsys' function takes a list of files to load
+;; into the image (`load-files'). It also takes several lists of files,
+;; one for each subsystem which will be autoloaded. Autoloading is explained
+;; below. This function is called in the src/interp/Makefile.
+
+;; This function calls `reroot' to set up pathnames we need. Next
+;; it sets up the lisp system memory (at present only for AKCL/GCL). Next
+;; it loads all of the named files, resets a few global state variables,
+;; loads the databases, sets up autoload triggers and clears out hash tables.
+;; After this function is called the image is clean and can be saved.
+
+(defun build-interpsys (load-files
+ translate-files nagbr-files asauto-files)
+ (reroot)
+ #+:AKCL
+ (init-memory-config :cons 500 :fixnum 200 :symbol 500 :package 8
+ :array 400 :string 500 :cfun 100 :cpages 1000
+ :rpages 1000 :hole 2000)
+ #+:AKCL
+ (setq compiler::*suppress-compiler-notes* t)
+ (mapcar #'|AxiomCore|::|importModule| load-files)
+ (|resetWorkspaceVariables|)
+ (|initHist|)
+ (|initNewWorld|)
+ (compressopen)
+ (interpopen)
+ (create-initializers)
+ (|start| :fin)
+#+:CCL
+ (resethashtables)
+ (setq *load-verbose* nil)
+ (|setBootAutloadProperties| translate-functions translate-files)
+ (|setNAGBootAutloadProperties| nagbr-functions nagbr-files)
+ (|setBootAutloadProperties| asauto-functions asauto-files)
+ (setf (symbol-function 'boot::|addConsDB|) #'identity)
+ (resethashtables) ; the databases into core, then close the streams
+ )
+
+
+;; This is a further refinement of the autoload scheme. Since the
+;; Numerical Algorithms Group (NAG) fortran library contains many
+;; functions we subdivide the NAG library subsystem into chapters.
+;; We use a different helper function {\bf get-NAG-chapter} to decide
+;; which files to load.
+(defun |setNAGBootAutloadProperties| (function-list file-list)
+ (mapcar
+ #'(lambda (f)
+ (|setBootAutloadProperties|
+ (get-NAG-chapter (chapter-name f) function-list)
+ (nag-files f file-list)))
+ file-list))
+
+;; This function is used to find the names of the files to load.
+;; On solaris 9 under GCL the original implementation will fail because
+;; the max number of arguments is 63. We rewrite it to get around this
+;; problem.
+(defun get-NAG-chapter (chapter function-list)
+ (let ((l (length chapter)) r)
+ (dolist (f function-list)
+ (when (equalp chapter (subseq (string f) 0 l))
+ (push f r)))
+ (nreverse r)))
+
+
+;; We analyze the function names to decide which chapter we are in.
+;; We load files based on the chapter.
+(defun nag-files (filename filelist)
+ (apply 'append (mapcar
+ #'(lambda (f)
+ (cond ((equalp (chapter-name filename) (chapter-name f)) (list f))) )
+ filelist)))
+
+;; The library names follow a convention that allows us to extract
+;; the chapter name.
+(defun chapter-name (f)
+#+:AKCL
+ (apply
+ #'(lambda (s)
+ (cond ((equalp (aref s 0) #\s) "s") (T (reverse (subseq s 0 3)))))
+ (list (string-left-trim "a.o" (reverse f) )) )
+#+:CCL
+ (subseq (string-downcase (string f)) 4 (length (string f)))
+)
+
+
+;; The `depsys' image is one of the two images we build from
+;; the src/interp subdirectory (the other is `interpsys'). We
+;; use `depsys' as a compile-time image as it contains all of
+;; the necessary functions and macros to compile any file. The
+;; `depsys' image is almost the same as an `interpsys'
+;; image but it does not have any autoload triggers or databases
+;; loaded.
+
+(defun build-depsys (load-files)
+#+:CCL
+ (setq *package* (find-package "BOOT"))
+#+:AKCL
+ (in-package "BOOT")
+ (mapcar #'load load-files)
+ (reroot)
+ #+:AKCL
+ (init-memory-config :cons 1000 :fixnum 400 :symbol 1000 :package 16
+ :array 800 :string 1000 :cfun 200 :cpages 2000
+ :rpages 2000 :hole 4000) )
+;; (init-memory-config :cons 500 :fixnum 200 :symbol 500 :package 8
+;; :array 400 :string 500 :cfun 100 :cpages 1000
+;; :rpages 1000 :hole 2000) )
+
+
+(DEFUN |string2BootTree| (S)
+ (init-boot/spad-reader)
+ (LET* ((BOOT-LINE-STACK (LIST (CONS 1 S)))
+ ($BOOT T)
+ ($SPAD NIL)
+ (XTOKENREADER 'GET-BOOT-TOKEN)
+ (LINE-HANDLER 'NEXT-BOOT-LINE)
+ (PARSEOUT (PROGN (|PARSE-Expression|) (POP-STACK-1))))
+ (DECLARE (SPECIAL BOOT-LINE-STACK $BOOT $SPAD XTOKENREADER LINE-HANDLER))
+ (DEF-RENAME (|new2OldLisp| PARSEOUT))))
+
+(DEFUN |string2SpadTree| (LINE)
+ (DECLARE (SPECIAL LINE))
+ (if (and (> (LENGTH LINE) 0) (EQ (CHAR LINE 0) #\) ))
+ (|processSynonyms|))
+ (ioclear)
+ (LET* ((BOOT-LINE-STACK (LIST (CONS 1 LINE)))
+ ($BOOT NIL)
+ ($SPAD T)
+ (XTOKENREADER 'GET-BOOT-TOKEN)
+ (LINE-HANDLER 'NEXT-BOOT-LINE)
+ (PARSEOUT (PROG2 (|PARSE-NewExpr|) (POP-STACK-1))))
+ (DECLARE (SPECIAL BOOT-LINE-STACK $BOOT $SPAD XTOKENREADER LINE-HANDLER))
+ PARSEOUT))
+
+
+;;--------------------> NEW DEFINITION (see i-syscmd.boot.pamphlet)
+(defun |processSynonyms| () nil) ;;dummy def for depsys, redefined later
+
+
+;; the following are for conditional reading
+#+:ieee-floating-point (setq $ieee t)
+#-:ieee-floating-point (setq $ieee nil)
+(setq |$opSysName| '"shell")
+#+:CCL (defun machine-type () "unknown")
+(setq |$machineType| (machine-type))
+; spad-clear-input patches around fact that akcl clear-input leaves newlines chars
+(defun spad-clear-input (st) (clear-input st) (if (listen st) (read-char st)))
+
+;; We need a way of distinguishing different versions of the system.
+;; There used to be a way to touch the src/timestamp file whenever
+;; you checked in a change to the change control subsystem.
+;; During make PART=interp (the default for make) we set timestamp
+;; to the filename of this timestamp file. This function converts it
+;; to a luser readable string and sets the *yearweek* variable.
+;; The result of this function is a string that is printed as a banner
+;; when Axiom starts. The actual printing is done by the function
+;; [[spadStartUpMsgs]] in [[src/interp/msgdb.boot]]. It uses a
+;; format string from the file [[src/doc/msgs/s2-us.msgs]].
+(defun yearweek ()
+ "set *yearweek* to the current time string for the version banner"
+ (declare (special timestamp) (special *yearweek*))
+ (if (and (boundp 'timestamp) (probe-file timestamp))
+ (let (sec min hour date month year day dayvec monvec)
+ (setq dayvec '("Monday" "Tuesday" "Wednesday" "Thursday"
+ "Friday" "Saturday" "Sunday"))
+ (setq monvec '("January" "February" "March" "April" "May" "June"
+ "July" "August" "September" "October" "November"
+ "December"))
+ (multiple-value-setq (sec min hour date month year day)
+ (decode-universal-time
+ (file-write-date timestamp)))
+ (setq *yearweek*
+ (copy-seq
+ (format nil "~a ~a ~d, ~d at ~2,'0d:~2,'0d:~2,'0d "
+ (elt dayvec day)
+ (elt monvec (1- month)) date year hour min sec))))
+ (setq *yearweek* "no timestamp")))
+
+(defun sourcepath (f)
+ "find the sourcefile in the system directories"
+ (let (axiom algebra naglink)
+ (setq axiom (|systemRootDirectory|))
+ (setq algebra (concatenate 'string axiom "/../../src/algebra/" f ".spad"))
+ (setq naglink (concatenate 'string axiom "/../../src/naglink/" f ".spad"))
+ (cond
+ ((probe-file algebra) algebra)
+ ((probe-file naglink) naglink)
+ ('else nil))))
+
+(defun srcabbrevs (sourcefile)
+ "read spad source files and return the constructor names and abbrevs"
+ (let (expr point mark names longnames)
+ (catch 'done
+ (with-open-file (in sourcefile)
+ (loop
+ (setq expr (read-line in nil 'done))
+ (when (eq expr 'done) (throw 'done nil))
+ (when (and (> (length expr) 4) (string= ")abb" (subseq expr 0 4)))
+ (setq expr (string-right-trim '(#\space #\tab) expr))
+ (setq point (position #\space expr :from-end t :test #'char=))
+ (push (subseq expr (1+ point)) longnames)
+ (setq expr (string-right-trim '(#\space #\tab)
+ (subseq expr 0 point)))
+ (setq mark (position #\space expr :from-end t))
+ (push (subseq expr (1+ mark)) names)))))
+ (values longnames names)))
+
+
+#+(and :AKCL (not (or :dos :win32)))
+(in-package "COMPILER")
+#+(and :AKCL (not (or :dos :win32)))
+(defun gazonk-name ( &aux tem)
+ "return the name of the intermediate compiler file"
+ (dotimes (i 1000)
+ (setq tem (merge-pathnames (format nil "/tmp/gazonk~d.lsp" i)))
+ (unless (probe-file tem)
+ (return-from gazonk-name (pathname tem))))
+ (error "1000 gazonk names used already!"))
+
+(in-package "BOOT")
+
+(defun |tr| (fn)
+ (|spad2AsTranslatorAutoloadOnceTrigger|)
+ (|convertSpadFile| fn) )
+
+
+;; Make will not compare dates across directories.
+;; Rather than copy all of the code.lsp files to the MNT directory
+;; we run this function to compile the files that are out of date
+;; this function assumes that the shell variables INT and MNT are set.
+;; Also of note: on the rt some files (those in the nooptimize list)
+;; need to be compiled without optimize due to compiler bugs
+(defun makelib (mid out stype btype)
+ "iterate over the NRLIBs, compiling ones that are out of date.
+ mid is the directory containing code.lsp
+ out is the directory containing code.o"
+ (let (libs lspdate odate nooptimize (alphabet #\space))
+#+(and :akcl :rt)
+ (setq nooptimize '("FFCAT-.NRLIB" "CHVAR.NRLIB" "PFO.NRLIB" "SUP.NRLIB"
+ "INTG0.NRLIB" "FSPRMELT.NRLIB" "VECTOR.NRLIB"
+ "EUCDOM-.NRLIB"))
+ (if (and mid out)
+ (format t "doing directory on ~s...~%" (concatenate 'string mid "/*"))
+ (error "makelib:MID=~a OUT=~a~% these are not set properly~%" mid out))
+#+:akcl (compiler::emit-fn nil)
+#+:akcl (si::chdir mid)
+#-:akcl (obey (concatenate 'string "cd " mid))
+ (setq libs (directory "*.NRLIB"))
+ (unless libs
+ (format t "makelib:directory of ~a returned NIL~%" mid)
+ (bye -1))
+ (princ "checking ")
+ (dolist (lib libs)
+ (unless (char= (schar (pathname-name lib) 0) alphabet)
+ (setq alphabet (schar (pathname-name lib) 0))
+ (princ alphabet)
+ (finish-output))
+ (let (dotlsp doto mntlib intkaf mntkaf intkafdate mntkafdate)
+ (setq dotlsp
+ (concatenate 'string mid "/" (file-namestring lib) "/code." stype))
+ (setq doto
+ (concatenate 'string out "/" (pathname-name lib) ".NRLIB/code." btype))
+ (setq mntlib
+ (concatenate 'string out "/" (pathname-name lib) ".NRLIB"))
+ (setq intkaf
+ (concatenate 'string mid "/" (file-namestring lib) "/index.KAF*"))
+ (setq mntkaf
+ (concatenate 'string out "/" (pathname-name lib) ".NRLIB/index.KAF*"))
+ (unless (probe-file mntlib)
+ (format t "creating directory ~a~%" mntlib)
+ (obey (concatenate 'string "cp -pr " (namestring lib) " " out))
+ (when (probe-file (concatenate 'string mntlib "/code." stype))
+ (delete-file (concatenate 'string mntlib "/code." stype))))
+ (setq intkafdate (and (probe-file intkaf) (file-write-date intkaf)))
+ (setq mntkafdate (and (probe-file mntkaf) (file-write-date mntkaf)))
+ (when intkafdate
+ (unless (and mntkafdate (> mntkafdate intkafdate))
+ (format t "~&copying ~s to ~s" intkaf mntkaf)
+ (obey
+ (concatenate 'string "cp "
+ (namestring intkaf) " " (namestring mntkaf)))))
+ (setq lspdate (and (probe-file dotlsp) (file-write-date dotlsp)))
+ (setq odate (and (probe-file doto) (file-write-date doto)))
+ (when lspdate
+ (unless (and odate (> odate lspdate))
+#+(and :akcl :rt)
+ (if (member (file-namestring lib) nooptimize :test #'string=)
+ (setq compiler::*speed* 0)
+ (setq compiler::*speed* 3))
+ (compile-lib-file dotlsp :output-file doto)))))))
+
+
+;; Make will not compare dates across directories.
+;; In particular, it cannot compare the algebra files because there
+;; is a one-to-many correspondence. This function will walk over
+;; all of the algebra NRLIB files and find all of the spad files
+;; that are out of date and need to be recompiled. This function
+;; creates a file "/tmp/compile.input" to be used later in the
+;; makefile.
+;; Note that the file /tmp/compile.input is not currently used
+;; as algebra source recompiles are not necessarily something
+;; we want done automatically. Nevertheless, in the quest for
+;; quality we check anyway.
+(defun makespad (src mid stype)
+ "iterate over the spad files, compiling ones that are out of date.
+ src is the directory containing .spad
+ mid is the directory containing code.lsp
+ out is the directory containing code.o"
+ (let (mntlibs spadwork (alphabet #\space))
+ (labels (
+ (findsrc (mid libname)
+ "return a string name of the source file given the library file
+ name (eg PI) as a string"
+ (let (kaffile index alist)
+ (setq kaffile
+ (concatenate 'string mid "/" libname ".NRLIB/index.KAF*"))
+ (with-open-file (kaf kaffile)
+ (setq index (read kaf))
+ (file-position kaf index)
+ (setq alist (read kaf))
+ (setq index (third (assoc "sourceFile" alist :test #'string=)))
+ (file-position kaf index)
+ (pathname-name (pathname (read kaf index)))))))
+ (format t "makespad:src=~s mid=~s stype=~s~%" src mid stype)
+ (if (and src mid)
+ (format t "doing directory on ~s...~%" (concatenate 'string src "/*"))
+ (error "makespad:SRC=~a MID=~a not set properly~%" src mid))
+#+:akcl (si::chdir mid)
+#-:akcl (obey (concatenate 'string "cd " mid))
+ (setq mntlibs (directory "*.NRLIB"))
+ (unless mntlibs
+ (format t "makespad:directory of ~a returned NIL~%" src)
+ (bye 1))
+ (princ "checking ")
+ (dolist (lib mntlibs)
+ (unless (char= (schar (pathname-name lib) 0) alphabet)
+ (setq alphabet (schar (pathname-name lib) 0))
+ (princ alphabet)
+ (finish-output))
+ (let (spad spaddate lsp lspdate)
+ (setq spad
+ (concatenate 'string src "/" (findsrc mid (pathname-name lib)) ".spad"))
+ (setq spaddate
+ (and (probe-file spad) (file-write-date spad)))
+ (setq lsp
+ (concatenate 'string mid "/" (pathname-name lib) ".NRLIB/code." stype))
+ (setq lspdate
+ (and (probe-file lsp) (file-write-date lsp)))
+ (cond
+ ((and spaddate lspdate (<= spaddate lspdate)))
+ ((and spaddate lspdate (> spaddate lspdate))
+ (setq spadwork (adjoin spad spadwork :test #'string=)))
+ ((and spaddate (not lspdate))
+ (setq spadwork (adjoin spad spadwork :test #'string=)))
+ ((and (not spaddate) lspdate)
+ (format t "makespad:missing spad file ~a for lisp file ~a~%" spad lsp))
+ ((and (not spaddate) (not lspdate))
+ (format t "makespad:NRLIB ~a exist but is spad ~a and lsp ~a don't~%"
+ lib spad lsp)))))
+ (with-open-file (tmp "/tmp/compile.input" :direction :output)
+ (dolist (spad spadwork)
+ (format t "~a is out of date~%" spad)
+ (format tmp ")co ~a~%" spad))))))
+
+
+;; We need to ensure that the INTERP.EXPOSED list, which is a list
+;; of the exposed constructors, is consistent with the actual libraries.
+(defun libcheck (int)
+ "check that INTERP.EXPOSED and NRLIBs are consistent"
+ (let (interp nrlibs)
+ (labels (
+ (CONSTRUCTORNAME (nrlib)
+ "find the long name of a constructor given an abbreviation string"
+ (let (file sourcefile name)
+ (setq file (findsrc nrlib))
+ (setq sourcefile
+ (concatenate 'string int "/" file ".spad"))
+ (when (and file (probe-file sourcefile))
+ (setq name (searchsource sourcefile nrlib)))))
+ (NOCAT (longnames)
+ "remove the categories from the list of long names"
+ (remove-if
+ #'(lambda (x)
+ (let ((c (schar x (1- (length x)))))
+ (or (char= c #\&) (char= c #\-)))) longnames))
+ (FINDSRC (libname)
+ "return a string name of the source file given the library file
+ name (eg PI) as a string"
+ (let (kaffile index alist result)
+ (setq kaffile
+ (concatenate 'string int "/" libname ".NRLIB/index.KAF*"))
+ (if (probe-file kaffile)
+ (with-open-file (kaf kaffile)
+ (setq index (read kaf))
+ (file-position kaf index)
+ (setq alist (read kaf))
+ (setq index (third (assoc "sourceFile" alist :test #'string=)))
+ (file-position kaf index)
+ (setq result (pathname-name (pathname (read kaf index))))))
+ (format t "~a does not exist~%" kaffile)
+ result))
+ (READINTERP ()
+ "read INTERP.EXPOSED and return a sorted abbreviation list"
+ (let (expr names longnames)
+ (with-open-file (in (concatenate 'string int "/INTERP.EXPOSED"))
+ (catch 'eof
+ (loop
+ (setq expr (read-line in nil 'eof))
+ (when (eq expr 'eof) (throw 'eof nil))
+ (when
+ (and
+ (> (length expr) 58)
+ (char= (schar expr 0) #\space)
+ (not (char= (schar expr 8) #\space)))
+ (push (string-trim '(#\space) (subseq expr 8 57)) longnames)
+ (push (string-right-trim '(#\space) (subseq expr 58)) names)))))
+ (setq longnames (sort longnames #'string<))
+ (setq names (sort names #'string<))
+ (values names longnames)))
+ (READLIBS (algebra)
+ "read the NRLIB directory and return a sorted abbreviation list"
+ (let (libs nrlibs)
+#+:akcl (si::chdir algebra)
+#-:akcl (obey (concatenate 'string "cd " algebra))
+ (setq nrlibs (directory "*.NRLIB"))
+ (unless nrlibs
+ (error "libcheck: (directory ~s) returned NIL~%"
+ (concatenate 'string algebra "/*.NRLIB")))
+ (dolist (lib nrlibs)
+ (push (pathname-name lib) libs))
+ (sort libs #'string<)))
+ (SEARCHSOURCE (sourcefile nrlib)
+ "search a sourcefile for the long constructor name of the nrlib string"
+ (let (in expr start)
+ (setq nrlib (concatenate 'string " " nrlib " "))
+ (catch 'done
+ (with-open-file (in sourcefile)
+ (loop
+ (setq expr (read-line in nil 'done))
+ (when (eq expr 'done) (throw 'done nil))
+ (when (and (> (length expr) 4)
+ (string= ")abb" (subseq expr 0 4))
+ (search nrlib expr :test #'string=)
+ (setq start (position #\space expr :from-end t :test #'char=)))
+ (throw 'done (string-trim '(#\space) (subseq expr start)))))))))
+ (SRCABBREVS (sourcefile)
+ (let (in expr start end names longnames)
+ (catch 'done
+ (with-open-file (in sourcefile)
+ (loop
+ (setq expr (read-line in nil 'done))
+ (when (eq expr 'done) (throw 'done nil))
+ (when (and (> (length expr) 4)
+ (string= ")abb" (subseq expr 0 4)))
+ (setq point (position #\space expr :from-end t :test #'char=))
+ (push (string-trim '(#\space) (subseq expr point)) longnames)
+ (setq mark
+ (position #\space
+ (string-right-trim '(#\space)
+ (subseq expr 0 (1- point))) :from-end t))
+ (push (string-trim '(#\space) (subseq expr mark point)) names)))))
+ (values names longnames)))
+ (SRCSCAN ()
+ (let (longnames names)
+#+:gcl (system::chdir int)
+#-:gcl (obey (concatenate 'string "cd " int))
+ (setq spads (directory "*.spad"))
+ (dolist (spad spads)
+ (multiple-value-setq (short long) (srcabbrevs spad))
+ (setq names (nconc names short))
+ (setq longnames (nconc longnames long)))
+ (setq names (sort names #'string<))
+ (setq longnames (sort longnames #'string<))
+ (values names longnames))))
+ (multiple-value-setq (abbrevs constructors) (readinterp))
+ (setq nrlibs (readlibs int))
+ (dolist (lib (set-difference nrlibs abbrevs :test #'string=))
+ (format t "libcheck:~a/~a.NRLIB is not in INTERP.EXPOSED~%" int lib))
+ (dolist (expose (set-difference abbrevs nrlibs :test #'string=))
+ (format t "libcheck:~a is in INTERP.EXPOSED with no NRLIB~%" expose))
+ (multiple-value-setq (srcabbrevs srcconstructors) (srcscan))
+ (setq abbrevs (nocat abbrevs))
+ (setq constructors (nocat constructors))
+ (dolist (item (set-difference srcabbrevs abbrevs :test #'string=))
+ (format t "libcheck:~a is in ~a but not in INTERP.EXPOSED~%" item
+ (findsrc item)))
+ (dolist (item (set-difference abbrevs srcabbrevs :test #'string=))
+ (format t "libcheck:~a is in INTERP.EXPOSED but has no spad sourcfile~%"
+ item))
+ (dolist (item (set-difference srcconstructors constructors :test #'string=))
+ (format t "libcheck:~a is not in INTERP.EXPOSED~%" item))
+ (dolist (item (set-difference constructors srcconstructors :test #'string=))
+ (format t "libcheck:~a has no spad source file~%" item)))))
+
+
diff --git a/src/interp/util.lisp.pamphlet b/src/interp/util.lisp.pamphlet
deleted file mode 100644
index e43af5be..00000000
--- a/src/interp/util.lisp.pamphlet
+++ /dev/null
@@ -1,1557 +0,0 @@
-% Oh Emacs, this is a -*- Lisp -*- file, despite appearance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\$SPAD/src/interp util.lisp}
-\author{Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-\eject
-\tableofcontents
-\eject
-
-
-\section{util.lisp}
-
-This file is a collection of utility functions that are useful
-for system level work. A couple of the functions, {\bf build-depsys}
-and {\bf build-interpsys} interface to the src/interp/Makefile.
-
-A second group of related functions allows us to rebuild portions
-of the system from the command prompt. This varies from rebuilding
-individual files to whole directories. The most complex functions
-like {\bf makespad} can rebuild the whole algebra tree.
-
-A third group of related functions are used to set up the
-{\bf autoload} mechanism. These enable whole subsystems to
-be kept out of memory until they are used.
-
-A fourth group of related functions are used to construct and
-search Emacs TAGS files.
-
-A fifth group of related functions are some translated boot
-functions we need to define here so they work and are available
-at load time.
-
-\subsection{Building Depsys (build-depsys)}
-
-The {\bf depsys} image is one of the two images we build from
-the src/interp subdirectory (the other is {\bf interpsys}). We
-use {\bf depsys} as a compile-time image as it contains all of
-the necessary functions and macros to compile any file. The
-{\bf depsys} image is almost the same as an {\bf interpsys}
-image but it does not have any autoload triggers or databases
-loaded.
-<<build-depsys>>=
-(defun build-depsys (load-files)
-#+:CCL
- (setq *package* (find-package "BOOT"))
-#+:AKCL
- (in-package "BOOT")
- (mapcar #'load load-files)
- (reroot)
- #+:AKCL
- (init-memory-config :cons 1000 :fixnum 400 :symbol 1000 :package 16
- :array 800 :string 1000 :cfun 200 :cpages 2000
- :rpages 2000 :hole 4000) )
-;; (init-memory-config :cons 500 :fixnum 200 :symbol 500 :package 8
-;; :array 400 :string 500 :cfun 100 :cpages 1000
-;; :rpages 1000 :hole 2000) )
-
-@
-
-\subsection{Building Interpsys (build-interpsys)}
-\begin{verbatim}
-;############################################################################
-;# autoload dependencies
-;#
-;# if you are adding a file which is to be autoloaded the following step
-;# information is useful:
-;# there are 2 cases:
-;# 1) adding files to currently autoloaded parts
-;# (as of 2/92: browser old parser and old compiler)
-;# 2) adding new files
-;# case 1:
-;# a) you have to add the file to the list of files currently there
-;# (e.g. see BROBJS above)
-;# b) add an autolaod rule
-;# (e.g. ${AUTO}/parsing.${O}: ${OUT}/parsing.${O})
-;# c) edit util.lisp to add the 'external' function (those that
-;# should trigger the autoload
-;# case 2:
-;# build-interpsys (in util.lisp) needs an extra argument for the
-;# new autoload things and several functions in util.lisp need hacking.
-;############################################################################
-\end{verbatim}
-The {\bf build-interpsys} function takes a list of files to load
-into the image ({\bf load-files}). It also takes several lists of files,
-one for each subsystem which will be autoloaded. Autoloading is explained
-below. This function is called in the src/interp/Makefile.
-
-This function calls {\bf reroot} to set up pathnames we need. Next
-it sets up the lisp system memory (at present only for AKCL/GCL). Next
-it loads all of the named files, resets a few global state variables,
-loads the databases, sets up autoload triggers and clears out hash tables.
-After this function is called the image is clean and can be saved.
-<<build-interpsys>>=
-(defun build-interpsys (load-files
- translate-files nagbr-files asauto-files)
- (reroot)
- #+:AKCL
- (init-memory-config :cons 500 :fixnum 200 :symbol 500 :package 8
- :array 400 :string 500 :cfun 100 :cpages 1000
- :rpages 1000 :hole 2000)
- <<compiler-notes>>
- (mapcar #'|AxiomCore|::|importModule| load-files)
- (|resetWorkspaceVariables|)
- (|initHist|)
- (|initNewWorld|)
- (compressopen)
- (interpopen)
- (create-initializers)
- (|start| :fin)
-#+:CCL
- (resethashtables)
- (setq *load-verbose* nil)
- (|setBootAutloadProperties| translate-functions translate-files)
- (|setNAGBootAutloadProperties| nagbr-functions nagbr-files)
- (|setBootAutloadProperties| asauto-functions asauto-files)
- (setf (symbol-function 'boot::|addConsDB|) #'identity)
- (resethashtables) ; the databases into core, then close the streams
- )
-
-@
-
-\subsubsection{GCL porting changes}
-
-GCL likes to output lines of the form:
-\begin{verbatim}
-;; Note: Tail-recursive call of |matSuperList1| was replaced by iteration.
-\end{verbatim}
-which is pointless and should be removed. Bill Schelter added this while
-he was debugging tail-recursive replacement and it never was removed.
-<<compiler-notes>>=
- #+:AKCL
- (setq compiler::*suppress-compiler-notes* t)
-@
-
-
-\subsection{The variables}
-
-Various lisps use different ``extensions'' on the filename to indicate
-that a file has been compiled. We set this variable correctly depending
-on the system we are using.
-<<bin-path>>=
-(defvar *bin-path*
- #+kcl "o"
- #+lucid "bbin"
- #+symbolics "bin"
- #+cmulisp "fasl"
- #+:ccl "not done this way at all")
-
-@
-
-
-\subsubsection{relative-directory-list}
-
-The relative directory list specifies a search path for files
-for the current directory structure. It has been changed from the
-NAG distribution back to the original form.
-<<relative-directory-list>>=
-(defvar $relative-directory-list
- '("/../../src/input/"
- "/share/msgs/"
- "/../../src/algebra/"
- "/../../src/interp/" ; for boot and lisp files (helps fd)
- "/doc/spadhelp/" ))
-
-@
-
-
-\subsubsection{relative-library-directory-list}
-
-The relative directory list specifies how to find the algebra
-directory from the current {\bf AXIOM} shell variable.
-<<relative-library-directory-list>>=
-(defvar $relative-library-directory-list '("/algebra/"))
-
-@
-
-
-\subsection{The autoload list}
-
-There are several subsystems within {\bf AXIOM} that are not normally
-loaded into a running system. They will be loaded only if you invoke
-one of the functions listed here. Each of these listed functions will
-have their definitions replaced by a special ``autoloader'' function.
-The first time a function named here is called it will trigger a
-load of the associated subsystem, the autoloader functions will get
-overwritten, the function call is retried and now succeeds. Files
-containing functions listed here are assumed to exist in the
-{\bf autoload} subdirectory. The list of files to load is defined
-in the src/interp/Makefile.
-
-\subsubsection{setBootAutloadProperties}
-
-This function is called by {\bf build-interpsys}. It takes two lists.
-The first is a list of functions that need to be used as
-``autoload triggers''. The second is a list of files to load if one
-of the trigger functions is called. At system build time each of the
-functions in the first list is set up to load every file in the second
-list. In this way we will automatically load a whole subsystem if we
-touch any function in that subsystem. We call a helper function
-called {\bf setBootAutoLoadProperty} to set up the autoload trigger.
-This helper function is listed below.
-<<setBootAutloadProperties>>=
-(defun |setBootAutloadProperties| (fun-list file-list)
-#+:AKCL
- (mapc #'(lambda (fun) (|setBootAutoLoadProperty| fun file-list)) fun-list)
-#+:CCL
- (mapc #'(lambda (fun) (lisp::set-autoload fun file-list)) fun-list)
-)
-
-@
-
-\subsubsection{setBootAutoLoadProperty}
-
-This is a helper function to set up the autoload trigger. It sets
-the function cell of each symbol to {\bf mkBootAutoLoad} which is
-listed below.
-<<setBootAutoLoadProperty>>=
-(defun |setBootAutoLoadProperty| (func file-list)
- (setf (symbol-function func) (|mkBootAutoLoad| func file-list)) )
-
-@
-
-\subsubsection{mkBootAutoLoad}
-
-This is how the autoload magic happens. Every function named in the
-autoload lists is actually just another name for this function. When
-the named function is called we call {\bf boot-load} on all of the
-files in the subsystem. This overwrites all of the autoload triggers.
-We then look up the new (real) function definition and call it again
-with the real arguments. Thus the subsystem loads and the original
-call succeeds.
-<<mkBootAutoLoad>>=
-(defun |mkBootAutoLoad| (fn file-list)
- (function (lambda (&rest args)
- (mapc #'boot-load file-list)
- (unless (string= (subseq (string fn) 0 4) "LOAD")
- (apply (symbol-function fn) args)))))
-
-@
-
-\subsubsection{boot-load}
-
-This function knows where the {\bf autoload} subdirectory lives.
-It is called by {\bf mkBootAutoLoad} above to find the necessary
-files.
-<<boot-load>>=
-(defun boot-load (file)
- (let ((name (concat (|systemRootDirectory|)
- "/autoload/"
- (pathname-name file))))
- (if |$printLoadMsgs|
- (format t " Loading ~A.~%" name))
- (load name)))
-
-@
-
-\subsubsection{setNAGBootAutloadProperties}
-
-This is a further refinement of the autoload scheme. Since the
-Numerical Algorithms Group (NAG) fortran library contains many
-functions we subdivide the NAG library subsystem into chapters.
-We use a different helper function {\bf get-NAG-chapter} to decide
-which files to load.
-<<setNAGBootAutloadProperties>>=
-(defun |setNAGBootAutloadProperties| (function-list file-list)
- (mapcar
- #'(lambda (f)
- (|setBootAutloadProperties|
- (get-NAG-chapter (chapter-name f) function-list)
- (nag-files f file-list)))
- file-list))
-
-@
-
-\subsubsection{get-NAG-chapter}
-
-This function is used to find the names of the files to load.
-On solaris 9 under GCL the original implementation will fail because
-the max number of arguments is 63. We rewrite it to get around this
-problem. It originally read:
-\begin{verbatim}
-(defun get-NAG-chapter (chapter function-list)
- (apply 'append
- (mapcar
- #'(lambda (f)
- (cond
- ((equalp chapter (subseq (string f) 0 (length chapter))) (list f ))))
- function-list)))
-
-\end{verbatim}
-<<get-NAG-chapter>>=
-(defun get-NAG-chapter (chapter function-list)
- (let ((l (length chapter)) r)
- (dolist (f function-list)
- (when (equalp chapter (subseq (string f) 0 l))
- (push f r)))
- (nreverse r)))
-
-@
-
-\subsubsection{nag-files}
-
-We analyze the function names to decide which chapter we are in.
-We load files based on the chapter.
-<<nag-files>>=
-(defun nag-files (filename filelist)
- (apply 'append (mapcar
- #'(lambda (f)
- (cond ((equalp (chapter-name filename) (chapter-name f)) (list f))) )
- filelist)))
-
-@
-
-\subsubsection{chapter-name}
-
-The library names follow a convention that allows us to extract
-the chapter name.
-<<chapter-name>>=
-(defun chapter-name (f)
-#+:AKCL
- (apply
- #'(lambda (s)
- (cond ((equalp (aref s 0) #\s) "s") (T (reverse (subseq s 0 3)))))
- (list (string-left-trim "a.o" (reverse f) )) )
-#+:CCL
- (subseq (string-downcase (string f)) 4 (length (string f)))
-)
-
-@
-
-\subsubsection{translate-functions}
-
-This is a little used subsystem to generate {\bf ALDOR} code
-from {\bf Spad} code. Frankly, I'd be amazed if it worked.
-<<translate-functions>>=
-(setq translate-functions '(
-;; .spad to .as translator, in particular
-;; loadtranslate
- |spad2AsTranslatorAutoloadOnceTrigger|
- ))
-
-@
-
-\subsubsection{asauto-functions}
-
-This is part of the {\bf ALDOR subsystem}. These will be loaded
-if you compile a {\bf .as} file rather than a {\bf .spad} file.
-{\bf ALDOR} is an external compiler that gets automatically called
-if the file extension is {\bf .as}.
-<<asauto-functions>>=
-(setq asauto-functions '(
- loadas
-;; |as| ;; now in as.boot
-;; |astran| ;; now in as.boot
- |spad2AxTranslatorAutoloadOnceTrigger|
- |sourceFilesToAxcliqueAxFile|
- |sourceFilesToAxFile|
- |setExtendedDomains|
- |makeAxFile|
- |makeAxcliqueAxFile|
- |nrlibsToAxFile|
- |attributesToAxFile| ))
-
-@
-
-\subsubsection{debug-functions}
-
-These are some {\bf debugging} functions that I use. I can't imagine
-why you might autoload them but they don't need to be in a running
-system.
-<<debug-functions>>=
-(setq debug-functions '(
- loaddebug
- |showSummary|
- |showPredicates|
- |showAttributes|
- |showFrom|
- |showImp|))
-
-@
-
-\subsubsection{anna-functions}
-
-The {\bf ANNA} subsystem, invoked thru {\bf hypertex}, is an
-expert system that understands the Numerical Algorithms Group (NAG)
-fortran library.
-<<anna-functions>>=
-(setq anna-functions '(
- |annaInt|
- |annaMInt|
- |annaOde|
- |annaOpt|
- |annaOpt2|
- |annaPDESolve|
- |annaOptDefaultSolve1|
- |annaOptDefaultSolve2|
- |annaOptDefaultSolve3|
- |annaOptDefaultSolve4|
- |annaOptDefaultSolve5|
- |annaOpt2DefaultSolve|
- |annaFoo|
- |annaBar|
- |annaJoe|
- |annaSue|
- |annaAnn|
- |annaBab|
- |annaFnar|
- |annaDan|
- |annaBlah|
- |annaTub|
- |annaRats|
- |annaMInt|
- |annaOdeDefaultSolve1|
- |annaOdeDefaultSolve2|))
-
-@
-
-\subsubsection{nagbr-functions}
-
-The Numerical Algorithms Group (NAG) fortran library has a set
-of cover functions. These functions need to be loaded if you use
-the NAG library.
-<<nagbr-functions>>=
-(setq nagbr-functions '(
- loadnag
- |c02aff| |c02agf|
- |c05adf| |c05nbf| |c05pbf|
- |c06eaf| |c06ebf| |c06ecf| |c06ekf| |c06fpf| |c06fqf| |c06frf|
- |c06fuf| |c06gbf| |c06gcf| |c06gqf| |c06gsf|
- |d01ajf| |d01akf| |d01alf| |d01amf| |d01anf| |d01apf| |d01aqf|
- |d01asf| |d01bbf| |d01fcf| |d01gaf| |d01gbf|
- |d02bbf| |d02bhf| |d02cjf| |d02ejf| |d02gaf| |d02gbf| |d02kef|
- |d02raf|
- |d03edf| |d03eef| |d03faf|
- |e01baf| |e01bef| |e01bff| |e01bgf| |e01bhf| |e01daf| |e01saf|
- |e01sbf| |e01sef|
- |e02adf| |e02aef| |e02agf| |e02ahf| |e02ajf| |e02akf| |e02baf|
- |e02bbf| |e02bcf| |e02bdf| |e02bef| |e02daf| |e02dcf|
- |e02ddf| |e02def| |e02dff| |e02gaf| |e02zaf|
- |e04dgf| |e04fdf| |e04gcf| |e04jaf| |e04mbf| |e04naf| |e04ucf|
- |e04ycf|
- |f01brf| |f01bsf| |f01maf| |f01mcf| |f01qcf| |f01qdf| |f01qef|
- |f01rcf| |f01rdf| |f01ref|
- |f02aaf| |f02abf| |f02adf| |f02aef| |f02aff| |f02agf| |f02ajf|
- |f02akf| |f02awf| |f02axf| |f02bbf| |f02bjf| |f02fjf|
- |f02wef| |f02xef|
- |f04adf| |f04arf| |f04asf| |f04atf| |f04axf| |f04faf| |f04jgf|
- |f04maf| |f04mbf| |f04mcf| |f04qaf|
- |f07adf| |f07aef| |f07fdf| |f07fef|
- |s01eaf| |s13aaf| |s13acf| |s13adf| |s14aaf| |s14abf| |s14baf|
- |s15adf| |s15aef| |s17acf| |s17adf| |s17aef| |s17aff|
- |s17agf| |s17ahf| |s17ajf| |s17akf| |s17dcf| |s17def|
- |s17dgf| |s17dhf| |s17dlf| |s18acf| |s18adf| |s18aef|
- |s18aff| |s18dcf| |s18def| |s19aaf| |s19abf| |s19acf|
- |s19adf| |s20acf| |s20adf| |s21baf| |s21bbf| |s21bcf|
- |s21bdf|
- ))
-
-@
-
-
-\subsection{The command-line build functions}
-
-\subsubsection{translist}
-
-Translate a list of boot files to common lisp.
-<<translist>>=
-(defun translist (fns)
- (mapcar #'(lambda (f) (format t "translating ~a~%" (concat f ".boot"))
- (translate f))
- fns))
-
-@
-
-\subsubsection{translate}
-
-Translate a single boot file to common lisp
-<<translate>>=
-(defun translate (file) ;; translates a single boot file
-#+:CCL
- (setq *package* (find-package "BOOT"))
-#+:AKCL
- (in-package "BOOT")
- (let (*print-level* *print-length* (fn (pathname-name file))
- (bootfile (merge-pathnames file (concat (|systemRootDirectory|) "nboot/.boot"))))
- (declare (special *print-level* *print-length*))
- (boot bootfile (make-pathname :type "lisp" :defaults bootfile))))
-
-@
-
-\subsubsection{compile-boot-file}
-
-Translate a single boot file to common lisp, compile it
-and load it.
-<<compile-boot-file>>=
-(defun compile-boot-file (file)
- "compile and load a boot file"
- (boot (concat file ".boot") (concat file ".lisp"))
-#+:AKCL
- (compile-file (concat file ".lisp"))
-#+:AKCL
- (load (concat file "." *bin-path*))
-#+:CCL
- (load (concat file ".lisp"))
-)
-
-@
-
-\subsubsection{retranslate-file-if-necessary}
-
-Retranslate a single boot file if it has been changed.
-<<retranslate-file-if-necessary>>=
-(defun retranslate-file-if-necessary (bootfile)
- (let* ((lfile (make-pathname :type "lisp" :defaults bootfile))
- (ldate (our-write-date lfile))
- (binfile (make-pathname :type *bin-path* :defaults bootfile))
- (bindate (our-write-date binfile))
- (bootdate (our-write-date bootfile)))
- (if (and ldate bootdate (> ldate bootdate)) nil
- (if (and bindate bootdate (> bindate bootdate)) nil
- (progn (format t "translating ~a~%" bootfile)
- (boot bootfile lfile) (list bootfile))))))
-
-@
-
-\subsubsection{retranslate-directory}
-
-Translate a directory of boot code to common lisp if the boot code
-is newer.
-<<retranslate-directory>>=
-(defun retranslate-directory (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "boot"))
- (files (directory pattern)))
- (mapcan #'retranslate-file-if-necessary files)))
-
-@
-
-\subsubsection{recompile-NRLIB-if-necessary}
-
-Recompile a single library's lisp file if it is out of date.
-The {\bf recompile-lib-file-if-necessary} is defined in nlib.lisp.
-<<recompile-NRLIB-if-necessary>>=
-(defun recompile-NRLIB-if-necessary (lib)
- (recompile-lib-file-if-necessary (concat (namestring lib) "/code.lsp"))
- (lift-NRLIB-name (namestring lib)))
-
-@
-
-\subsubsection{lift-NRLIB-name}
-
-We used to use FOO.NRLIB/code.o files for algebra. However there
-was no need for this additional level of indirection since the rest
-of the information in an NRLIB is now kept in the daase files. Thus
-we lift the FOO.NRLIB/code.o to FOO.o in the final system.
-<<lift-NRLIB-name>>=
-(defun lift-NRLIB-name (f)
- (obey (concat "cp " f "/code.o " (subseq f 0 (position #\. f)) ".o"))
- nil)
-
-@
-
-\subsubsection{recompile-lib-directory}
-
-Recompile library lisp code if necessary.
-<<recompile-lib-directory>>=
-(defun recompile-lib-directory (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "NRLIB"))
- (files (directory pattern)))
- (mapcan #'recompile-NRLIB-if-necessary files)))
-
-@
-
-\subsubsection{recompile-all-files}
-
-Force recompilation of all lisp files in a directory.
-<<recompile-all-files>>=
-(defun recompile-all-files (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "lisp"))
- (files (directory pattern)))
- (mapcar #'compile-file files)))
-
-@
-
-\subsubsection{recompile-directory}
-
-This function will compile any lisp code that has changed in a directory.
-<<recompile-directory>>=
-(defun recompile-directory (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "lisp"))
- (files (directory pattern)))
- (mapcan #'recompile-file-if-necessary files)))
-
-@
-
-\subsubsection{recompile-file-if-necessary}
-
-This is a helper function that checks the time stamp between
-the given file and its compiled binary. If the file has changed
-since it was last compiled this function will recompile it.
-<<recompile-file-if-necessary>>=
-(defun recompile-file-if-necessary (lfile)
- (let* ((bfile (make-pathname :type *bin-path* :defaults lfile))
- (bdate (our-write-date bfile))
- (ldate (our-write-date lfile)))
- (if (and bdate ldate (> bdate ldate)) nil
- (progn
- (format t "compiling ~a~%" lfile)
- (compile-file lfile)
- (list bfile)))))
-
-@
-
-\subsubsection{our-write-date}
-
-Get the write date of a file. In GCL we need to check that it
-exists first. This is a simple helper function.
-<<our-write-date>>=
-(defun our-write-date (file) (and #+kcl (probe-file file)
- (file-write-date file)))
-
-@
-
-\subsubsection{fe}
-
-I'm unsure what this does but I believe it is related to an interpreter
-command. Invoking ``)fe'' in the interpreter tries to get at the
-src/interp/TAGS file.
-<<fe>>=
-(defun fe (function file &optional (compflag nil) &aux (fn (pathname-name file)))
- (let ((tbootfile (concat "/tmp/" fn ".boot"))
- (tlispfile (concat "/tmp/" fn ".lisp")))
- (system::run-aix-program "fc"
- :arguments (list (string function)
- (namestring
- (merge-pathnames file
- (concat (|systemRootDirectory|)
- "nboot/.boot"))))
- :if-output-exists :supersede :output tbootfile)
- (boot tbootfile tlispfile)
- (if compflag (progn (compile-file tlispfile)
- (load (make-pathname :type *bin-path* :defaults tlispfile)))
- (load tlispfile))))
-@
-
-\subsubsection{fc}
-
-I'm unsure what this does but I believe it is related to an interpreter
-command. Invoking ``)fc'' in the interpreter tries to get at the
-src/interp/TAGS file.
-<<fc>>=
-(defun fc (function file) (fe function file t))
-
-@
-
-\subsubsection{compspadfiles}
-
-The {\bf compspadfiles} function will recompile a list of {\bf spad} files.
-The filelist should be a file containing names of files to compile.
-<<compspadfiles>>=
-(defun compspadfiles (filelist ;; should be a file containing files to compile
- &optional (*default-pathname-defaults*
- (pathname (concat (|systemRootDirectory|)
- "nalgebra/"))))
- (with-open-file (stream filelist)
- (do ((fname (read-line stream nil nil) (read-line stream nil nil)))
- ((null fname) 'done)
- (setq fname (string-right-trim " *" fname))
- (when (not (equal (elt fname 0) #\*))
- (spad fname (concat (pathname-name fname) ".out"))))))
-
-@
-
-\subsubsection{load-directory}
-
-Load a whole subdirectory of compiled files
-<<load-directory>>=
-(defun load-directory (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type *bin-path*))
- (files (directory pattern)))
- (mapcar #'load files)))
-
-@
-
-\subsubsection{interp-make-directory}
-
-This is used by the ")cd" system command.
-<<interp-make-directory>>=
-(defun interp-make-directory (direc)
- (setq direc (namestring direc))
- (if (string= direc "") $current-directory
- (if (or (memq :unix *features*)
- (memq 'unix *features*))
- (progn
- (if (char/= (char $current-directory (1-(length $current-directory))) #\/)
- (setq $current-directory (concat $current-directory "/")))
- (if (char/= (char direc 0) #\/)
- (setq direc (concat $current-directory direc)))
- (if (char/= (char direc (1- (length direc))) #\/)
- (setq direc (concat direc "/")))
- direc)
- (progn ;; Assume Windows conventions
- (if (not (or (char= (char $current-directory (1- (length $current-directory))) #\/)
- (char= (char $current-directory (1- (length $current-directory))) #\\ )))
- (setq $current-directory (concat $current-directory "\\")))
- (if (not (or (char= (char direc 0) #\/)
- (char= (char direc 0) #\\)
- (find #\: direc)))
- (setq direc (concat $current-directory direc)))
- (if (not (or (char= (char direc (1- (length direc))) #\/)
- (char= (char direc (1- (length direc))) #\\ )))
- (setq direc (concat direc "\\")))
- direc))))
-
-@
-
-\subsubsection{make-directory}
-
-Make a directory relative to the running system root directory.
-<<make-directory>>=
-(defun make-directory (direc)
- (setq direc (namestring direc))
- (if (string= direc "") (|systemRootDirectory|)
- (if (or (memq :unix *features*)
- (memq 'unix *features*))
- (progn
- (if (char/= (char direc 0) #\/)
- (setq direc (concat (|systemRootDirectory|) "/" direc)))
- (if (char/= (char direc (1- (length direc))) #\/)
- (setq direc (concat direc "/")))
- direc)
- (progn ;; Assume Windows conventions
- (if (not (or (char= (char direc 0) #\/)
- (char= (char direc 0) #\\)
- (find #\: direc)))
- (setq direc (concat (|systemRootDirectory|) "\\" direc)))
- (if (not (or (char= (char direc (1- (length direc))) #\/)
- (char= (char direc (1- (length direc))) #\\ )))
- (setq direc (concat direc "\\")))
- direc))))
-
-@
-
-\subsubsection{recompile-all-libs}
-
-Occasionally it will be necessary to iterate over all of the NRLIB
-directories and compile each of the code.lsp files in every NRLIB.
-This function will do that. A correct call looks like:
-\begin{verbatim}
-(in-package "BOOT")
-(recompile-all-libs "/spad/mnt/${SYS}/algebra")
-\end{verbatim}
-where the [[${SYS}]] variable is same as the one set at build time.
-<<recompile-all-libs>>=
-(defun recompile-all-libs (dir)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "NRLIB"))
- (files (directory pattern)))
- (mapcar
- #'(lambda (lib) (compile-lib-file (concat (namestring lib) "/code.lsp")))
- files)))
-
-@
-
-\subsubsection{recompile-all-algebra-files}
-
-We occasionally need to completely rebuild the algebra from the spad
-files. This function will iterate across a directory containing all
-of the spad files and attempt to recompile them. A correct call looks
-like:
-\begin{verbatim}
-(in-package "BOOT")
-(recompile-all-algebra-files "nalg")
-\end{verbatim}
-Note that it will build a pathname from the current {\bf AXIOM}
-shell variable. So if the {\bf AXIOM} shell variable had the value
-\begin{verbatim}
-/spad/mnt/${SYS}
-\end{verbatim}
-(where the [[${SYS}]] variable is the same one set at build time)
-then the wildcard expands to
-\begin{verbatim}
-/spad/mnt/${SYS}/nalg/*.spad
-\end{verbatim}
-and all of the matching files would be recompiled.
-<<recompile-all-algebra-files>>=
-(defun recompile-all-algebra-files (dir) ;; a desperation measure
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type "spad"))
- (files (directory pattern))
- (*default-pathname-defaults* (pathname direc)))
- (mapcar
- #'(lambda (fname) (spad fname (concat (pathname-name fname) ".out")))
- files)))
-
-@
-
-\subsubsection{boottocl}
-
-The {\bf boottocl} function is the workhorse function that translates
-{\bf .boot} files to {\bf Common Lisp}. It basically wraps the actual
-{\bf boot} function call to ensure that we don't truncate lines
-because of {\bf *print-level*} or {\bf *print-length*}.
-<<boottocl>>=
-(in-package "OLD-BOOT")
-
-(defun boot (file) ;; translates a single boot file
-#+:CCL
- (setq *package* (find-package "BOOT"))
-#+:AKCL
- (in-package "BOOT")
- (let (*print-level*
- *print-length*
- (fn (pathname-name file))
- (*print-pretty* t))
- (declare (special *print-level* *print-length*))
- (boot::boot
- file
- (merge-pathnames (make-pathname :type "clisp") file))))
-
-@
-
-\subsubsection{yearweek}
-
-We need a way of distinguishing different versions of the system.
-There used to be a way to touch the src/timestamp file whenever
-you checked in a change to the change control subsystem.
-During make PART=interp (the default for make) we set timestamp
-to the filename of this timestamp file. This function converts it
-to a luser readable string and sets the *yearweek* variable.
-
-The result of this function is a string that is printed as a banner
-when Axiom starts. The actual printing is done by the function
-[[spadStartUpMsgs]] in [[src/interp/msgdb.boot]]. It uses a
-format string from the file [[src/doc/msgs/s2-us.msgs]].
-<<yearweek>>=
-(defun yearweek ()
- "set *yearweek* to the current time string for the version banner"
- (declare (special timestamp) (special *yearweek*))
- (if (and (boundp 'timestamp) (probe-file timestamp))
- (let (sec min hour date month year day dayvec monvec)
- (setq dayvec '("Monday" "Tuesday" "Wednesday" "Thursday"
- "Friday" "Saturday" "Sunday"))
- (setq monvec '("January" "February" "March" "April" "May" "June"
- "July" "August" "September" "October" "November"
- "December"))
- (multiple-value-setq (sec min hour date month year day)
- (decode-universal-time
- (file-write-date timestamp)))
- (setq *yearweek*
- (copy-seq
- (format nil "~a ~a ~d, ~d at ~2,'0d:~2,'0d:~2,'0d "
- (elt dayvec day)
- (elt monvec (1- month)) date year hour min sec))))
- (setq *yearweek* "no timestamp")))
-
-@
-
-\subsubsection{makelib}
-
-Make will not compare dates across directories.
-Rather than copy all of the code.lsp files to the MNT directory
-we run this function to compile the files that are out of date
-this function assumes that the shell variables INT and MNT are set.
-
-Also of note: on the rt some files (those in the nooptimize list)
-need to be compiled without optimize due to compiler bugs
-<<makelib>>=
-(defun makelib (mid out stype btype)
- "iterate over the NRLIBs, compiling ones that are out of date.
- mid is the directory containing code.lsp
- out is the directory containing code.o"
- (let (libs lspdate odate nooptimize (alphabet #\space))
-#+(and :akcl :rt)
- (setq nooptimize '("FFCAT-.NRLIB" "CHVAR.NRLIB" "PFO.NRLIB" "SUP.NRLIB"
- "INTG0.NRLIB" "FSPRMELT.NRLIB" "VECTOR.NRLIB"
- "EUCDOM-.NRLIB"))
- (if (and mid out)
- (format t "doing directory on ~s...~%" (concatenate 'string mid "/*"))
- (error "makelib:MID=~a OUT=~a~% these are not set properly~%" mid out))
-#+:akcl (compiler::emit-fn nil)
-#+:akcl (si::chdir mid)
-#-:akcl (obey (concatenate 'string "cd " mid))
- (setq libs (directory "*.NRLIB"))
- (unless libs
- (format t "makelib:directory of ~a returned NIL~%" mid)
- (bye -1))
- (princ "checking ")
- (dolist (lib libs)
- (unless (char= (schar (pathname-name lib) 0) alphabet)
- (setq alphabet (schar (pathname-name lib) 0))
- (princ alphabet)
- (finish-output))
- (let (dotlsp doto mntlib intkaf mntkaf intkafdate mntkafdate)
- (setq dotlsp
- (concatenate 'string mid "/" (file-namestring lib) "/code." stype))
- (setq doto
- (concatenate 'string out "/" (pathname-name lib) ".NRLIB/code." btype))
- (setq mntlib
- (concatenate 'string out "/" (pathname-name lib) ".NRLIB"))
- (setq intkaf
- (concatenate 'string mid "/" (file-namestring lib) "/index.KAF*"))
- (setq mntkaf
- (concatenate 'string out "/" (pathname-name lib) ".NRLIB/index.KAF*"))
- (unless (probe-file mntlib)
- (format t "creating directory ~a~%" mntlib)
- (obey (concatenate 'string "cp -pr " (namestring lib) " " out))
- (when (probe-file (concatenate 'string mntlib "/code." stype))
- (delete-file (concatenate 'string mntlib "/code." stype))))
- (setq intkafdate (and (probe-file intkaf) (file-write-date intkaf)))
- (setq mntkafdate (and (probe-file mntkaf) (file-write-date mntkaf)))
- (when intkafdate
- (unless (and mntkafdate (> mntkafdate intkafdate))
- (format t "~&copying ~s to ~s" intkaf mntkaf)
- (obey
- (concatenate 'string "cp "
- (namestring intkaf) " " (namestring mntkaf)))))
- (setq lspdate (and (probe-file dotlsp) (file-write-date dotlsp)))
- (setq odate (and (probe-file doto) (file-write-date doto)))
- (when lspdate
- (unless (and odate (> odate lspdate))
-#+(and :akcl :rt)
- (if (member (file-namestring lib) nooptimize :test #'string=)
- (setq compiler::*speed* 0)
- (setq compiler::*speed* 3))
- (compile-lib-file dotlsp :output-file doto)))))))
-
-@
-
-\subsubsection{makespad}
-
-Make will not compare dates across directories.
-In particular, it cannot compare the algebra files because there
-is a one-to-many correspondence. This function will walk over
-all of the algebra NRLIB files and find all of the spad files
-that are out of date and need to be recompiled. This function
-creates a file "/tmp/compile.input" to be used later in the
-makefile.
-
-Note that the file /tmp/compile.input is not currently used
-as algebra source recompiles are not necessarily something
-we want done automatically. Nevertheless, in the quest for
-quality we check anyway.
-<<makespad>>=
-(defun makespad (src mid stype)
- "iterate over the spad files, compiling ones that are out of date.
- src is the directory containing .spad
- mid is the directory containing code.lsp
- out is the directory containing code.o"
- (let (mntlibs spadwork (alphabet #\space))
- (labels (
- (findsrc (mid libname)
- "return a string name of the source file given the library file
- name (eg PI) as a string"
- (let (kaffile index alist)
- (setq kaffile
- (concatenate 'string mid "/" libname ".NRLIB/index.KAF*"))
- (with-open-file (kaf kaffile)
- (setq index (read kaf))
- (file-position kaf index)
- (setq alist (read kaf))
- (setq index (third (assoc "sourceFile" alist :test #'string=)))
- (file-position kaf index)
- (pathname-name (pathname (read kaf index)))))))
- (format t "makespad:src=~s mid=~s stype=~s~%" src mid stype)
- (if (and src mid)
- (format t "doing directory on ~s...~%" (concatenate 'string src "/*"))
- (error "makespad:SRC=~a MID=~a not set properly~%" src mid))
-#+:akcl (si::chdir mid)
-#-:akcl (obey (concatenate 'string "cd " mid))
- (setq mntlibs (directory "*.NRLIB"))
- (unless mntlibs
- (format t "makespad:directory of ~a returned NIL~%" src)
- (bye 1))
- (princ "checking ")
- (dolist (lib mntlibs)
- (unless (char= (schar (pathname-name lib) 0) alphabet)
- (setq alphabet (schar (pathname-name lib) 0))
- (princ alphabet)
- (finish-output))
- (let (spad spaddate lsp lspdate)
- (setq spad
- (concatenate 'string src "/" (findsrc mid (pathname-name lib)) ".spad"))
- (setq spaddate
- (and (probe-file spad) (file-write-date spad)))
- (setq lsp
- (concatenate 'string mid "/" (pathname-name lib) ".NRLIB/code." stype))
- (setq lspdate
- (and (probe-file lsp) (file-write-date lsp)))
- (cond
- ((and spaddate lspdate (<= spaddate lspdate)))
- ((and spaddate lspdate (> spaddate lspdate))
- (setq spadwork (adjoin spad spadwork :test #'string=)))
- ((and spaddate (not lspdate))
- (setq spadwork (adjoin spad spadwork :test #'string=)))
- ((and (not spaddate) lspdate)
- (format t "makespad:missing spad file ~a for lisp file ~a~%" spad lsp))
- ((and (not spaddate) (not lspdate))
- (format t "makespad:NRLIB ~a exist but is spad ~a and lsp ~a don't~%"
- lib spad lsp)))))
- (with-open-file (tmp "/tmp/compile.input" :direction :output)
- (dolist (spad spadwork)
- (format t "~a is out of date~%" spad)
- (format tmp ")co ~a~%" spad))))))
-
-@
-
-\subsubsection{libcheck}
-
-We need to ensure that the INTERP.EXPOSED list, which is a list
-of the exposed constructors, is consistent with the actual libraries.
-<<libcheck>>=
-(defun libcheck (int)
- "check that INTERP.EXPOSED and NRLIBs are consistent"
- (let (interp nrlibs)
- (labels (
- (CONSTRUCTORNAME (nrlib)
- "find the long name of a constructor given an abbreviation string"
- (let (file sourcefile name)
- (setq file (findsrc nrlib))
- (setq sourcefile
- (concatenate 'string int "/" file ".spad"))
- (when (and file (probe-file sourcefile))
- (setq name (searchsource sourcefile nrlib)))))
- (NOCAT (longnames)
- "remove the categories from the list of long names"
- (remove-if
- #'(lambda (x)
- (let ((c (schar x (1- (length x)))))
- (or (char= c #\&) (char= c #\-)))) longnames))
- (FINDSRC (libname)
- "return a string name of the source file given the library file
- name (eg PI) as a string"
- (let (kaffile index alist result)
- (setq kaffile
- (concatenate 'string int "/" libname ".NRLIB/index.KAF*"))
- (if (probe-file kaffile)
- (with-open-file (kaf kaffile)
- (setq index (read kaf))
- (file-position kaf index)
- (setq alist (read kaf))
- (setq index (third (assoc "sourceFile" alist :test #'string=)))
- (file-position kaf index)
- (setq result (pathname-name (pathname (read kaf index))))))
- (format t "~a does not exist~%" kaffile)
- result))
- (READINTERP ()
- "read INTERP.EXPOSED and return a sorted abbreviation list"
- (let (expr names longnames)
- (with-open-file (in (concatenate 'string int "/INTERP.EXPOSED"))
- (catch 'eof
- (loop
- (setq expr (read-line in nil 'eof))
- (when (eq expr 'eof) (throw 'eof nil))
- (when
- (and
- (> (length expr) 58)
- (char= (schar expr 0) #\space)
- (not (char= (schar expr 8) #\space)))
- (push (string-trim '(#\space) (subseq expr 8 57)) longnames)
- (push (string-right-trim '(#\space) (subseq expr 58)) names)))))
- (setq longnames (sort longnames #'string<))
- (setq names (sort names #'string<))
- (values names longnames)))
- (READLIBS (algebra)
- "read the NRLIB directory and return a sorted abbreviation list"
- (let (libs nrlibs)
-#+:akcl (si::chdir algebra)
-#-:akcl (obey (concatenate 'string "cd " algebra))
- (setq nrlibs (directory "*.NRLIB"))
- (unless nrlibs
- (error "libcheck: (directory ~s) returned NIL~%"
- (concatenate 'string algebra "/*.NRLIB")))
- (dolist (lib nrlibs)
- (push (pathname-name lib) libs))
- (sort libs #'string<)))
- (SEARCHSOURCE (sourcefile nrlib)
- "search a sourcefile for the long constructor name of the nrlib string"
- (let (in expr start)
- (setq nrlib (concatenate 'string " " nrlib " "))
- (catch 'done
- (with-open-file (in sourcefile)
- (loop
- (setq expr (read-line in nil 'done))
- (when (eq expr 'done) (throw 'done nil))
- (when (and (> (length expr) 4)
- (string= ")abb" (subseq expr 0 4))
- (search nrlib expr :test #'string=)
- (setq start (position #\space expr :from-end t :test #'char=)))
- (throw 'done (string-trim '(#\space) (subseq expr start)))))))))
- (SRCABBREVS (sourcefile)
- (let (in expr start end names longnames)
- (catch 'done
- (with-open-file (in sourcefile)
- (loop
- (setq expr (read-line in nil 'done))
- (when (eq expr 'done) (throw 'done nil))
- (when (and (> (length expr) 4)
- (string= ")abb" (subseq expr 0 4)))
- (setq point (position #\space expr :from-end t :test #'char=))
- (push (string-trim '(#\space) (subseq expr point)) longnames)
- (setq mark
- (position #\space
- (string-right-trim '(#\space)
- (subseq expr 0 (1- point))) :from-end t))
- (push (string-trim '(#\space) (subseq expr mark point)) names)))))
- (values names longnames)))
- (SRCSCAN ()
- (let (longnames names)
-#+:gcl (system::chdir int)
-#-:gcl (obey (concatenate 'string "cd " int))
- (setq spads (directory "*.spad"))
- (dolist (spad spads)
- (multiple-value-setq (short long) (srcabbrevs spad))
- (setq names (nconc names short))
- (setq longnames (nconc longnames long)))
- (setq names (sort names #'string<))
- (setq longnames (sort longnames #'string<))
- (values names longnames))))
- (multiple-value-setq (abbrevs constructors) (readinterp))
- (setq nrlibs (readlibs int))
- (dolist (lib (set-difference nrlibs abbrevs :test #'string=))
- (format t "libcheck:~a/~a.NRLIB is not in INTERP.EXPOSED~%" int lib))
- (dolist (expose (set-difference abbrevs nrlibs :test #'string=))
- (format t "libcheck:~a is in INTERP.EXPOSED with no NRLIB~%" expose))
- (multiple-value-setq (srcabbrevs srcconstructors) (srcscan))
- (setq abbrevs (nocat abbrevs))
- (setq constructors (nocat constructors))
- (dolist (item (set-difference srcabbrevs abbrevs :test #'string=))
- (format t "libcheck:~a is in ~a but not in INTERP.EXPOSED~%" item
- (findsrc item)))
- (dolist (item (set-difference abbrevs srcabbrevs :test #'string=))
- (format t "libcheck:~a is in INTERP.EXPOSED but has no spad sourcfile~%"
- item))
- (dolist (item (set-difference srcconstructors constructors :test #'string=))
- (format t "libcheck:~a is not in INTERP.EXPOSED~%" item))
- (dolist (item (set-difference constructors srcconstructors :test #'string=))
- (format t "libcheck:~a has no spad source file~%" item)))))
-
-@
-
-
-\subsection{Constructing TAGS}
-
-TAGS are useful for finding functions if you run Emacs. We have a
-set of functions that construct TAGS files for Axiom.
-\subsubsection{make-tags-file}
-Run the etags command on all of the lisp code. Then run the
-{\bf spadtags-from-directory} function on the boot code. The
-final TAGS file is constructed in the {\bf tmp} directory.
-<<make-tags-file>>=
-(defun make-tags-file ()
-#+:gcl (system:chdir "/tmp")
-#-:gcl (obey (concatenate 'string "cd " "/tmp"))
- (obey (concat "etags " (make-absolute-filename "../../src/interp/*.lisp")))
- (spadtags-from-directory "../../src/interp" "boot")
- (obey "cat /tmp/boot.TAGS >> /tmp/TAGS"))
-
-@
-
-\subsubsection{spadtags-from-directory}
-
-This function will walk across a directory and call
-{\bf spadtags-from-file} on each file.
-<<spadtags-from-directory>>=
-(defun spadtags-from-directory (dir type)
- (let* ((direc (make-directory dir))
- (pattern (make-pathname :directory (pathname-directory direc)
- :name :wild :type type))
- (files (directory pattern)))
- (with-open-file
- (tagstream (concatenate 'string "/tmp/" type ".TAGS") :direction :output
- :if-exists :supersede :if-does-not-exist :create)
- (dolist (file files (namestring tagstream))
- (print (list "processing:" file))
- (write-char #\page tagstream)
- (terpri tagstream)
- (write-string (namestring file) tagstream)
- (write-char #\, tagstream)
- (princ (spadtags-from-file file) tagstream)
- (terpri tagstream)
- (with-open-file (stream "/tmp/*TAGS")
- (do ((line (read-line stream nil nil)
- (read-line stream nil nil)))
- ((null line) nil)
- (write-line line tagstream)))))))
-
-@
-
-\subsubsection{spadtags-from-file}
-
-This function knows how to find function names in {\bf boot} code
-so we can add them to the TAGS file using standard etags format.
-<<spadtags-from-file>>=
-(defun spadtags-from-file (spadfile)
- (with-open-file (tagstream "/tmp/*TAGS" :direction :output
- :if-exists :supersede :if-does-not-exist :create)
- (with-open-file (stream spadfile)
- (do ((char-count 0 (file-position stream))
- (line (read-line stream nil nil) (read-line stream nil nil))
- (line-count 1 (1+ line-count)))
- ((null line) (file-length tagstream))
- (if (/= (length line) 0)
- (let ((firstchar (elt line 0)) (end nil)
- (len (length line)))
- (cond ((member firstchar '(#\space #\{ #\} #\tab )
- :test #'char= ) "skip")
- ((string= line ")abb" :end1 (min 4 len))
- (setq end (position #\space line :from-end t
- :test-not #'eql)
- end (and end (position #\space line :from-end t
- :end end)))
- (write-tag-line line tagstream end
- line-count char-count))
- ((char= firstchar #\)) "skip")
- ((and (> len 1) (string= line "--" :end1 2)) "skip")
- ((and (> len 1) (string= line "++" :end1 2)) "skip")
- ((search "==>" line) "skip")
- ((and (setq end (position #\space line)
- end (or (position #\( line :end end) end)
- end (or (position #\: line :end end) end)
- end (or (position #\[ line :end end) end))
- (equal end 0)) "skip")
- ((position #\] line :end end) "skip")
- ((string= line "SETANDFILEQ" :end1 end) "skip")
- ((string= line "EVALANDFILEACTQ" :end1 end) "skip")
- (t (write-tag-line line tagstream
- (if (numberp end) (+ end 1) end)
- line-count char-count)) )))))))
-
-@
-
-\subsubsection{write-tag-line}
-
-This function knows how to write a single line into a TAGS file
-using the etags file format.
-<<write-tag-line>>=
-(defun write-tag-line (line tagstream endcol line-count char-count)
- (write-string line tagstream :end endcol)
- (write-char #\rubout tagstream)
- (princ line-count tagstream)
- (write-char #\, tagstream)
- (princ char-count tagstream)
- (terpri tagstream))
-
-@
-
-\subsubsection{blankcharp}
-
-This is a trivial predicate for calls to {\bf position-if-not} in the
-{\bf findtag} function.
-<<blankcharp>>=
-(defun blankcharp (c) (char= c #\Space))
-
-@
-
-\subsubsection{findtag}
-
-The {\bf findtag} function is a user-level function to figure out
-which file contains a given tag. This is sometimes useful if Emacs
-is not around or TAGS are not loaded.
-<<findtag>>=
-(defun findtag (tag &optional (tagfile (concat (|systemRootDirectory|) "/../../src/interp/TAGS")) )
- ;; tag is an identifier
- (with-open-file (tagstream tagfile)
- (do ((tagline (read-line tagstream nil nil)
- (read-line tagstream nil nil))
- (*package* (symbol-package tag))
- (sourcefile)
- (stringtag (string tag))
- (pos)
- (tpos)
- (type))
- ((null tagline) ())
- (cond ((char= (char tagline 0) #\Page)
- (setq tagline (read-line tagstream nil nil))
- (setq sourcefile (subseq tagline 0
- (position #\, tagline)))
- (setq type (pathname-type sourcefile)))
- ((string= type "lisp")
- (if (match-lisp-tag tag tagline)
- (return (cons sourcefile tagline))))
- ((> (mismatch ")abb" tagline) 3)
- (setq pos (position #\Space tagline :start 3))
- (setq pos (position-if-not #'blankcharp tagline
- :start pos))
- (setq pos (position #\Space tagline :start pos))
- (setq pos (position-if-not #'blankcharp tagline
- :start pos))
- (setq tpos (mismatch stringtag tagline :start2 pos))
- (if (and (= tpos (length (string tag)))
- (member (char tagline (+ pos tpos)) '(#\Space #\Rubout)))
- (return (cons sourcefile tagline))))
- ((setq pos (mismatch stringtag tagline))
- (if (and (= pos (length stringtag))
- (> (length tagline) pos)
- (member (char tagline pos)
- '( #\Space #\( #\:) ))
- (return (cons sourcefile tagline))))))))
-
-@
-
-\subsubsection{match-lisp-tag}
-
-The {\bf match-lisp-tag} function is used by {\bf findtag}. This
-function assumes that \\ can only appear as first character of name.
-<<match-lisp-tag>>=
-(defun match-lisp-tag (tag tagline &optional (prefix nil)
- &aux (stringtag (string tag)) pos tpos)
- (when (and (if prefix
- (= (mismatch prefix tagline :test #'char-equal)
- (length prefix))
- t)
- (numberp (setq pos (position #\Space tagline)))
- (numberp (setq pos (position-if-not #'blankcharp tagline
- :start pos))))
- (if (char= (char tagline pos) #\') (incf pos))
- (if (member (char tagline pos) '( #\\ #\|))
- (setq tpos (1+ pos))
- (setq tpos pos))
- (and (= (mismatch stringtag tagline :start2 tpos :test #'char-equal)
- (length stringtag))
- (eq tag (read-from-string tagline nil nil :start pos))) ))
-
-@
-
-
-\subsection{Translated Boot functions}
-
-\subsubsection{string2BootTree}
-
-<<string2BootTree>>=
-(DEFUN |string2BootTree| (S)
- (init-boot/spad-reader)
- (LET* ((BOOT-LINE-STACK (LIST (CONS 1 S)))
- ($BOOT T)
- ($SPAD NIL)
- (XTOKENREADER 'GET-BOOT-TOKEN)
- (LINE-HANDLER 'NEXT-BOOT-LINE)
- (PARSEOUT (PROGN (|PARSE-Expression|) (POP-STACK-1))))
- (DECLARE (SPECIAL BOOT-LINE-STACK $BOOT $SPAD XTOKENREADER LINE-HANDLER))
- (DEF-RENAME (|new2OldLisp| PARSEOUT))))
-
-@
-
-\subsubsection{string2SpadTree}
-
-<<string2SpadTree>>=
-(DEFUN |string2SpadTree| (LINE)
- (DECLARE (SPECIAL LINE))
- (if (and (> (LENGTH LINE) 0) (EQ (CHAR LINE 0) #\) ))
- (|processSynonyms|))
- (ioclear)
- (LET* ((BOOT-LINE-STACK (LIST (CONS 1 LINE)))
- ($BOOT NIL)
- ($SPAD T)
- (XTOKENREADER 'GET-BOOT-TOKEN)
- (LINE-HANDLER 'NEXT-BOOT-LINE)
- (PARSEOUT (PROG2 (|PARSE-NewExpr|) (POP-STACK-1))))
- (DECLARE (SPECIAL BOOT-LINE-STACK $BOOT $SPAD XTOKENREADER LINE-HANDLER))
- PARSEOUT))
-
-@
-
-\subsubsection{processSynonyms}
-
-;;--------------------> NEW DEFINITION (see i-syscmd.boot.pamphlet)
-<<processSynonyms>>=
-(defun |processSynonyms| () nil) ;;dummy def for depsys, redefined later
-
-@
-
-
-\section{License}
-
-<<license>>=
-;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
-;; All rights reserved.
-;;
-;; Redistribution and use in source and binary forms, with or without
-;; modification, are permitted provided that the following conditions are
-;; met:
-;;
-;; - Redistributions of source code must retain the above copyright
-;; notice, this list of conditions and the following disclaimer.
-;;
-;; - Redistributions in binary form must reproduce the above copyright
-;; notice, this list of conditions and the following disclaimer in
-;; the documentation and/or other materials provided with the
-;; distribution.
-;;
-;; - Neither the name of The Numerical ALgorithms Group Ltd. nor the
-;; names of its contributors may be used to endorse or promote products
-;; derived from this software without specific prior written permission.
-;;
-;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-;; IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-;; TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-;; PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-;; OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-;; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-;; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-;; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-;; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-@
-<<*>>=
-<<license>>
-
-(IMPORT-MODULE "vmlisp")
-(import-module "parsing")
-
-(in-package "BOOT")
-(export '($directory-list $current-directory reroot
- make-absolute-filename |$msgDatabaseName| |$defaultMsgDatabaseName|))
-
-<<our-write-date>>
-<<make-directory>>
-<<interp-make-directory>>
-<<bin-path>>
-<<load-directory>>
-<<compspadfiles>>
-<<recompile-all-algebra-files>>
-<<fe>>
-<<fc>>
-<<recompile-directory>>
-<<recompile-file-if-necessary>>
-<<recompile-all-files>>
-<<recompile-lib-directory>>
-<<recompile-all-libs>>
-<<recompile-NRLIB-if-necessary>>
-<<lift-NRLIB-name>>
-<<retranslate-directory>>
-<<retranslate-file-if-necessary>>
-<<make-tags-file>>
-<<spadtags-from-directory>>
-<<spadtags-from-file>>
-<<write-tag-line>>
-<<blankcharp>>
-<<findtag>>
-<<match-lisp-tag>>
-<<compile-boot-file>>
-<<translate>>
-<<translist>>
-<<relative-directory-list>>
-<<relative-library-directory-list>>
-<<boottocl>>
-
-(in-package "BOOT")
-
-<<translate-functions>>
-<<asauto-functions>>
-<<debug-functions>>
-<<anna-functions>>
-<<nagbr-functions>>
-<<setBootAutloadProperties>>
-<<boot-load>>
-<<setBootAutoLoadProperty>>
-<<mkBootAutoLoad>>
-<<build-interpsys>>
-<<setNAGBootAutloadProperties>>
-<<get-NAG-chapter>>
-<<nag-files>>
-<<chapter-name>>
-<<build-depsys>>
-
-<<string2BootTree>>
-<<string2SpadTree>>
-<<processSynonyms>>
-
-;; the following are for conditional reading
-#+:ieee-floating-point (setq $ieee t)
-#-:ieee-floating-point (setq $ieee nil)
-(setq |$opSysName| '"shell")
-#+:CCL (defun machine-type () "unknown")
-(setq |$machineType| (machine-type))
-; spad-clear-input patches around fact that akcl clear-input leaves newlines chars
-(defun spad-clear-input (st) (clear-input st) (if (listen st) (read-char st)))
-
-<<yearweek>>
-(defun sourcepath (f)
- "find the sourcefile in the system directories"
- (let (axiom algebra naglink)
- (setq axiom (|systemRootDirectory|))
- (setq algebra (concatenate 'string axiom "/../../src/algebra/" f ".spad"))
- (setq naglink (concatenate 'string axiom "/../../src/naglink/" f ".spad"))
- (cond
- ((probe-file algebra) algebra)
- ((probe-file naglink) naglink)
- ('else nil))))
-
-(defun srcabbrevs (sourcefile)
- "read spad source files and return the constructor names and abbrevs"
- (let (expr point mark names longnames)
- (catch 'done
- (with-open-file (in sourcefile)
- (loop
- (setq expr (read-line in nil 'done))
- (when (eq expr 'done) (throw 'done nil))
- (when (and (> (length expr) 4) (string= ")abb" (subseq expr 0 4)))
- (setq expr (string-right-trim '(#\space #\tab) expr))
- (setq point (position #\space expr :from-end t :test #'char=))
- (push (subseq expr (1+ point)) longnames)
- (setq expr (string-right-trim '(#\space #\tab)
- (subseq expr 0 point)))
- (setq mark (position #\space expr :from-end t))
- (push (subseq expr (1+ mark)) names)))))
- (values longnames names)))
-
-
-#+(and :AKCL (not (or :dos :win32)))
-(in-package "COMPILER")
-#+(and :AKCL (not (or :dos :win32)))
-(defun gazonk-name ( &aux tem)
- "return the name of the intermediate compiler file"
- (dotimes (i 1000)
- (setq tem (merge-pathnames (format nil "/tmp/gazonk~d.lsp" i)))
- (unless (probe-file tem)
- (return-from gazonk-name (pathname tem))))
- (error "1000 gazonk names used already!"))
-
-(in-package "BOOT")
-
-(defun |tr| (fn)
- (|spad2AsTranslatorAutoloadOnceTrigger|)
- (|convertSpadFile| fn) )
-
-<<makelib>>
-<<makespad>>
-<<libcheck>>
-
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/vmlisp.lisp.pamphlet b/src/interp/vmlisp.lisp
index 086c82f7..e829899e 100644
--- a/src/interp/vmlisp.lisp.pamphlet
+++ b/src/interp/vmlisp.lisp
@@ -1,25 +1,7 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/vmlisp.lisp} Pamphlet}
-\author{Lars Ericson, Barry Trager, Martial Schor, Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-
-\tableofcontents
-\eject
-
-
-\section{License}
-
-<<license>>=
;; Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
;; All rights reserved.
+;; Copyright (C) 2007, Gabriel Dos Reis.
+;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
;; modification, are permitted provided that the following conditions are
@@ -49,48 +31,6 @@
;; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-@
-
-
-\section{The [[VMLISP]] package}
-
-This is the package that originally contained the \Tool{VMLisp} macros
-but in fact contains macros to support several other lisps. It
-is essentially the place where most of the macros to support
-idioms from prior ports (like [[rdefiostream]] and [[fileactq]])
-
-The content of [[VMLISP]] was moved to [[BOOT]].
-
-\section{The StringImage Fix}
-
-In GCL 2.5 there is a bug in the write-to-string function.
-It should respect *print-escape* but it does not. That is,
-\begin{verbatim}
-
-In GCL 2.4.1:
-(setq *print-escape* nil)
-(write-to-string '|a|) ==> "a"
-
-In GCL 2.5:
-(setq *print-escape* nil)
-(write-to-string '|a|) ==> "|a|"
-
-\end{verbatim}
-The form2LispString function uses stringimage and fails.
-The princ-to-string function assumes *print-escape* is nil
-and works properly.
-
-<<stringimage fix>>=
-;(define-function 'prin2cvec #'write-to-string)
-(define-function 'prin2cvec #'princ-to-string)
-;(define-function 'stringimage #'write-to-string)
-(define-function 'stringimage #'princ-to-string)
-
-@
-
-
-<<*>>=
-
(IMPORT-MODULE "boot-pkg")
; VM LISP EMULATION PACKAGE
@@ -196,15 +136,15 @@ and works properly.
(defun equable (x)
(or (null x)
(and (consp x) (eq (car x) 'quote)
- (symbolp (cadr x))))))
+ (symbolp (cadr x))))))
#-:CCL
(defmacro eqcar (x y)
(let ((test
(cond
((equable y) 'eq)
- ((integerp y) 'i=)
- ('eql))))
+ ((integerp y) 'i=)
+ ('eql))))
(if (atom x)
`(and (consp ,x) (,test (qcar ,x) ,y))
(let ((xx (gensym)))
@@ -240,13 +180,13 @@ and works properly.
(defmacro i= (x y) ;; integer equality
(if (typep y 'fixnum)
(let ((gx (gensym)))
- `(let ((,gx ,x))
- (and (typep ,gx 'fixnum) (eql (the fixnum ,gx) ,y))))
+ `(let ((,gx ,x))
+ (and (typep ,gx 'fixnum) (eql (the fixnum ,gx) ,y))))
(let ((gx (gensym)) (gy (gensym)))
`(let ((,gx ,x) (,gy ,y))
- (cond ((and (typep ,gx 'fixnum) (typep ,gy 'fixnum))
- (eql (the fixnum ,gx) (the fixnum ,gy)))
- ((eql (the integer ,gx) (the integer,gy))))))))
+ (cond ((and (typep ,gx 'fixnum) (typep ,gy 'fixnum))
+ (eql (the fixnum ,gx) (the fixnum ,gy)))
+ ((eql (the integer ,gx) (the integer,gy))))))))
(defmacro |idChar?| (x)
`(or (alphanumericp ,x) (member ,x '(#\? #\% #\' #\!) :test #'char=)))
@@ -263,14 +203,14 @@ and works properly.
`(and (consp ,x) (qcar ,x))
(let ((xx (gensym)))
`(let ((,xx ,x))
- (and (consp ,xx) (qcar ,xx))))))
+ (and (consp ,xx) (qcar ,xx))))))
(defmacro ifcdr (x)
(if (atom x)
`(and (consp ,x) (qcdr ,x))
(let ((xx (gensym)))
`(let ((,xx ,x))
- (and (consp ,xx) (qcdr ,xx))))))
+ (and (consp ,xx) (qcdr ,xx))))))
(defmacro intp (x)
`(integerp ,x))
@@ -326,7 +266,7 @@ and works properly.
`(if (atom ,x) ,x (nreverse ,x))
(let ((xx (gensym)))
`(let ((,xx ,x))
- (if (atom ,xx) ,xx (nreverse ,xx))))))
+ (if (atom ,xx) ,xx (nreverse ,xx))))))
(defmacro nump (n)
`(numberp ,n))
@@ -336,7 +276,7 @@ and works properly.
`(if (consp ,x) (qcar ,x) ,x)
(let ((xx (gensym)))
`(let ((,xx ,x))
- (if (consp ,xx) (qcar ,xx) ,xx)))))
+ (if (consp ,xx) (qcar ,xx) ,xx)))))
(defmacro oraddtempdefs (filearg)
`(eval-when
@@ -747,7 +687,7 @@ and works properly.
(setq lamda (eval lamda) ltype (car lamda) body (cddr lamda))))
(let ((dectest (car body)))
(if (and (eqcar dectest 'declare) (eqcar (cadr dectest) 'special))
- (setq *decl* (cdr (cadr dectest)) body (cdr body))))
+ (setq *decl* (cdr (cadr dectest)) body (cdr body))))
(setq args (remove-fluids (cadr lamda)))
(cond ((and (eq ltype 'lambda) (simple-arglist args)) (setq nargs args))
(t (setq nargs (gensym))
@@ -798,9 +738,9 @@ and works properly.
(compiled-function-p (macro-function item))))
(defun FBPIP (item) (or (compiled-function-p item)
- (and (symbolp item) (fboundp item)
- (not (macro-function item))
- (compiled-function-p (symbol-function item)))))
+ (and (symbolp item) (fboundp item)
+ (not (macro-function item))
+ (compiled-function-p (symbol-function item)))))
; 9.5 Identifiers
@@ -830,7 +770,7 @@ and works properly.
(and (streamp stream)
(or (not (consp (pathname-directory stream)))
(equal (qcar (pathname-directory stream)) "dev")
- (null (pathname-name stream) ))))
+ (null (pathname-name stream) ))))
#+KCL
(defun IS-CONSOLE (stream)
@@ -877,8 +817,8 @@ and works properly.
;; note it is important that PNAME returns nil not an error for non-symbols
(defun pname (x)
(cond ((symbolp x) (symbol-name x))
- ((characterp x) (string x))
- (t nil)))
+ ((characterp x) (string x))
+ (t nil)))
;; property lists in vmlisp are alists
(defun PROPLIST (x)
@@ -982,9 +922,9 @@ and works properly.
;;(defun INTERSECTIONQ (l1 l2) (intersection l1 l2 :test #'eq))
(defun |member| (item sequence)
(cond ((symbolp item) (member item sequence :test #'eq))
- ((stringp item) (member item sequence :test #'equal))
- ((and (atom item) (not (arrayp item))) (member item sequence))
- (T (member item sequence :test #'equalp))))
+ ((stringp item) (member item sequence :test #'equal))
+ ((and (atom item) (not (arrayp item))) (member item sequence))
+ (T (member item sequence :test #'equalp))))
(defun |remove| (list item &optional (count 1))
(if (integerp count)
@@ -1011,26 +951,26 @@ and works properly.
; ignores non-nil list terminators
; ignores non-pair a-list entries
(cond ((symbolp X)
- (PROG NIL
- A (COND ((ATOM Y) (RETURN NIL))
- ((NOT (consp (CAR Y))) )
- ((EQ (CAAR Y) X) (RETURN (CAR Y))) )
- (SETQ Y (CDR Y))
- (GO A)))
- ((or (numberp x) (characterp x))
- (PROG NIL
- A (COND ((ATOM Y) (RETURN NIL))
- ((NOT (consp (CAR Y))) )
- ((EQL (CAAR Y) X) (RETURN (CAR Y))) )
- (SETQ Y (CDR Y))
- (GO A)))
- (t
- (PROG NIL
- A (COND ((ATOM Y) (RETURN NIL))
- ((NOT (consp (CAR Y))) )
- ((EQUAL (CAAR Y) X) (RETURN (CAR Y))) )
- (SETQ Y (CDR Y))
- (GO A)))))
+ (PROG NIL
+ A (COND ((ATOM Y) (RETURN NIL))
+ ((NOT (consp (CAR Y))) )
+ ((EQ (CAAR Y) X) (RETURN (CAR Y))) )
+ (SETQ Y (CDR Y))
+ (GO A)))
+ ((or (numberp x) (characterp x))
+ (PROG NIL
+ A (COND ((ATOM Y) (RETURN NIL))
+ ((NOT (consp (CAR Y))) )
+ ((EQL (CAAR Y) X) (RETURN (CAR Y))) )
+ (SETQ Y (CDR Y))
+ (GO A)))
+ (t
+ (PROG NIL
+ A (COND ((ATOM Y) (RETURN NIL))
+ ((NOT (consp (CAR Y))) )
+ ((EQUAL (CAAR Y) X) (RETURN (CAR Y))) )
+ (SETQ Y (CDR Y))
+ (GO A)))))
; 14.5 Updating
(defun NREMOVE (list item &optional (count 1))
@@ -1065,20 +1005,6 @@ and works properly.
(define-function 'GETREFV #'make-array)
-@
-Waldek Hebisch points out that, in the expression:
-\begin{verbatim}
- reduce(+,[1.0/i for i in 1..20000])
-\end{verbatim}
-a significant amount of the time is spent in this function.
-A special case was added to significantly reduce the execution time.
-This was a problem in GCL as of 2.6.8pre and may be fixed in future
-releases. If it is fixed then the original definition, which was
-\begin{verbatim}
-(defun LIST2VEC (list) (coerce list 'vector))
-\end{verbatim}
-can be restored.
-<<*>>=
(defun LIST2VEC (list)
(if (consp list)
(let* ((len (length list))
@@ -1102,7 +1028,7 @@ can be restored.
#+:CCL ((stringp l) (length l)) ;; Until ACN fixes his lisp -> C translator.
#-:CCL ((consp l) (list-length l))
#+:CCL ((consp l) (length l))
- (t 0)))
+ (t 0)))
(define-function 'MOVEVEC #'replace)
@@ -1126,15 +1052,15 @@ can be restored.
(defun concat (a b &rest l)
(let ((type (cond ((bit-vector-p a) 'bit-vector) (t 'string))))
(cond ((eq type 'string)
- (setq a (string a) b (string b))
+ (setq a (string a) b (string b))
(if l (setq l (mapcar #'string l)))))
(if l (apply #'concatenate type a b l)
- (concatenate type a b))) )
+ (concatenate type a b))) )
#+AKCL
(defun concat (a b &rest l)
(if (bit-vector-p a)
(if l (apply #'concatenate 'bit-vector a b l)
- (concatenate 'bit-vector a b))
+ (concatenate 'bit-vector a b))
(if l (apply #'system:string-concatenate a b l)
(system:string-concatenate a b))))
@@ -1178,17 +1104,17 @@ can be restored.
;;- (defun strpos (what in start dontcare)
;;- (setq what (string what) in (string in))
;;- (if dontcare (progn (setq dontcare (character dontcare))
-;;- (search what in :start2 start
-;;- :test #'(lambda (x y) (or (eql x dontcare)
-;;- (eql x y)))))
+;;- (search what in :start2 start
+;;- :test #'(lambda (x y) (or (eql x dontcare)
+;;- (eql x y)))))
;;- (search what in :start2 start)))
(defun strpos (what in start dontcare)
(setq what (string what) in (string in))
(if dontcare (progn (setq dontcare (character dontcare))
- (search what in :start2 start
- :test #'(lambda (x y) (or (eql x dontcare)
- (eql x y)))))
+ (search what in :start2 start
+ :test #'(lambda (x y) (or (eql x dontcare)
+ (eql x y)))))
(if (= start 0)
(search what in)
(search what in :start2 start))
@@ -1209,14 +1135,14 @@ can be restored.
changing CVEC."
(unless (characterp id) (setq id (elt (string id) 0)))
(cond ((array-has-fill-pointer-p cvec)
- (vector-push-extend id cvec)
- cvec)
- ((adjustable-array-p cvec)
- (let ((l (length cvec)))
- (adjust-array cvec (1+ l))
- (setf (elt cvec l) id)
- cvec))
- (t (concat cvec id))))
+ (vector-push-extend id cvec)
+ cvec)
+ ((adjustable-array-p cvec)
+ (let ((l (length cvec)))
+ (adjust-array cvec (1+ l))
+ (setf (elt cvec l) id)
+ cvec))
+ (t (concat cvec id))))
(defun setsize (vector size) (adjust-array vector size))
@@ -1264,7 +1190,7 @@ can be restored.
(setq start1 (1+ start1))
(setq start2 (1+ start2)))
(let* ((l1 (length cvec1))
- (r (make-string (- (+ l1 length2) length1)))
+ (r (make-string (- (+ l1 length2) length1)))
(i 0))
(do ((j 0 (1+ j)))
((= j start1))
@@ -1598,7 +1524,11 @@ can be restored.
; 24.0 Printing
-<<stringimage fix>>
+;(define-function 'prin2cvec #'write-to-string)
+(define-function 'prin2cvec #'princ-to-string)
+;(define-function 'stringimage #'write-to-string)
+(define-function 'stringimage #'princ-to-string)
+
(define-function 'printexp #'princ)
(define-function 'prin0 #'prin1)
@@ -1653,17 +1583,17 @@ can be restored.
(filename (cdr (assoc 'FILE stream-alist)))
(dev (cdr (assoc 'DEVICE stream-alist))))
(if (EQ dev 'CONSOLE) (make-synonym-stream '*terminal-io*)
- (let ((strm (case mode
- ((OUTPUT O) (open (make-filename filename)
- :direction :output))
- ((INPUT I) (open (make-input-filename filename)
- :direction :input)))))
- (if (and (numberp char-position) (> char-position 0))
- (file-position strm char-position))
- strm))))
+ (let ((strm (case mode
+ ((OUTPUT O) (open (make-filename filename)
+ :direction :output))
+ ((INPUT I) (open (make-input-filename filename)
+ :direction :input)))))
+ (if (and (numberp char-position) (> char-position 0))
+ (file-position strm char-position))
+ strm))))
(defun shut (st) (if (is-console st) st
- (if (streamp st) (close st) -1)))
+ (if (streamp st) (close st) -1)))
(defun EOFP (stream) (null (peek-char nil stream nil nil)))
@@ -1771,7 +1701,7 @@ can be restored.
(defun CurrentTime ()
(multiple-value-bind (sec min hour day month year) (get-decoded-time)
(format nil "~2,'0D/~2,'0D/~2,'0D~2,'0D:~2,'0D:~2,'0D"
- month day (rem year 100) hour min sec)))
+ month day (rem year 100) hour min sec)))
(defun $screensize () '(24 80)) ; You tell me!!
@@ -1816,11 +1746,11 @@ can be restored.
(setq MACERRORCOUNT (+ 1 (eval 'MACERRORCOUNT)))
(let ((nargs (abs N)))
(error (concatenate 'string (symbol-name NAME) " requires "
- (if (minusp N) "at least " "exactly ")
- (case nargs (0 "no") (1 "one") (2 "two") (3 "three")
- (4 "four") (5 "five") (6 "six")
- (t (princ-to-string nargs)))
- (if (eq nargs 1) " argument," " arguments,")))))
+ (if (minusp N) "at least " "exactly ")
+ (case nargs (0 "no") (1 "one") (2 "two") (3 "three")
+ (4 "four") (5 "five") (6 "six")
+ (t (princ-to-string nargs)))
+ (if (eq nargs 1) " argument," " arguments,")))))
(defun MACERR (MESSAGE &rest ignore)
(declare (ignore ignore))
@@ -1851,18 +1781,18 @@ can be restored.
;; first cons-cell whose CAR is EQ KEY.
(defun getl (sym key)
(cond ((symbolp sym)
- (get sym key))
- ((null sym) nil)
- ((consp sym)
- (let ((sym-1 (car sym)))
- (cond ((symbolp sym-1)
- (get sym-1 key))
- ((and (consp sym-1)
- (symbolp (car sym-1)))
- (if (eq (car sym-1) key)
- (cdr sym-1)
- (getl (cdr sym) key))))))))
-
+ (get sym key))
+ ((null sym) nil)
+ ((consp sym)
+ (let ((sym-1 (car sym)))
+ (cond ((symbolp sym-1)
+ (get sym-1 key))
+ ((and (consp sym-1)
+ (symbolp (car sym-1)))
+ (if (eq (car sym-1) key)
+ (cdr sym-1)
+ (getl (cdr sym) key))))))))
+
; The following should actually position the cursor at the sint'th line of the screen:
(defun $showline (cvec sint) (terpri) sint (princ cvec))
@@ -1924,20 +1854,20 @@ can be restored.
(defun BPINAME (func)
(if (functionp func)
(if (symbolp func) func
- (let ((name (svref func 0)))
- (if (and (consp name) (eq (car name) 'SYSTEM::NAMED-LAMBDA))
- (cadr name)
- name)) )))
+ (let ((name (svref func 0)))
+ (if (and (consp name) (eq (car name) 'SYSTEM::NAMED-LAMBDA))
+ (cadr name)
+ name)) )))
#+(OR IBCL KCL)
(defun BPINAME (func)
(if (functionp func)
(cond ((symbolp func) func)
- ((and (consp func) (eq (car func) 'LAMBDA-BLOCK))
- (cadr func))
- ((compiled-function-p func)
- (system:compiled-function-name func))
- ('t func))))
+ ((and (consp func) (eq (car func) 'LAMBDA-BLOCK))
+ (cadr func))
+ ((compiled-function-p func)
+ (system:compiled-function-name func))
+ ('t func))))
#+:cmulisp
(defun BPINAME (func)
(when (functionp func)
@@ -1971,11 +1901,11 @@ can be restored.
(defun LISTOFFREES (bpi)
(if (compiled-function-p bpi)
(let ((end (- (lucid::procedure-length bpi) 2)))
- (do ((i 3 (1+ i))
- (ans nil))
- ((> i end) ans)
- (let ((locexp (svref bpi i)))
- (if (symbolp locexp) (push locexp ans)))))))
+ (do ((i 3 (1+ i))
+ (ans nil))
+ ((> i end) ans)
+ (let ((locexp (svref bpi i)))
+ (if (symbolp locexp) (push locexp ans)))))))
#-Lucid
(defun LISTOFFREES (bpi)
@@ -1986,11 +1916,11 @@ can be restored.
#+(and :Lucid (not :ibm/370))
(defun OBEY (S)
(system::run-aix-program (make-absolute-filename "/lib/obey")
- :arguments (list "-c" S)))
+ :arguments (list "-c" S)))
#+:cmulisp
(defun OBEY (S)
(ext:run-program (make-absolute-filename "/lib/obey")
- (list "-c" S) :input t :output t))
+ (list "-c" S) :input t :output t))
#+(OR IBCL KCL :CCL)
(defun OBEY (S) (SYSTEM S))
@@ -2007,9 +1937,3 @@ can be restored.
(defun MAKE-BVEC (n)
(make-array (list n) :element-type 'bit :initial-element 0))
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}