aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interp/ChangeLog12
-rw-r--r--src/interp/Makefile.in15
-rw-r--r--src/interp/Makefile.pamphlet26
-rw-r--r--src/interp/bootfuns.lisp.pamphlet114
-rw-r--r--src/interp/bootlex.lisp.pamphlet4
-rw-r--r--src/interp/category.boot.pamphlet6
-rw-r--r--src/interp/macros.lisp.pamphlet3
-rw-r--r--src/interp/nocompil.lisp.pamphlet8
-rw-r--r--src/interp/setq.lisp.pamphlet2
-rw-r--r--src/interp/sys-globals.boot5
10 files changed, 35 insertions, 160 deletions
diff --git a/src/interp/ChangeLog b/src/interp/ChangeLog
index b2ae9cd6..5a709b07 100644
--- a/src/interp/ChangeLog
+++ b/src/interp/ChangeLog
@@ -1,3 +1,15 @@
+2007-09-05 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * Makefile.pamphlet (depsys_lisp_macro_sources): Remove
+ bootfuns.lisp from the list.
+ (OBJS): Likewise.
+ (AXIOMsys_noncompiled_lisp_sources): Likewise.
+ (${DEPSYS}): Don't depend on bootfuns. Don't load it.
+ (bootfuns.$(FASLEXT)): Remove.
+ * Makefile.in: Regenerate.
+ * setq.lisp.pamphlet: Move to sys-globals.boot.
+ * bootfuns.lisp.pamphlet: Remove.
+
2007-09-04 Gabriel Dos Reis <gdr@cs.tamu.edu>
* bootfuns.lisp.pamphlet (|$CategoryFrame|): Move to sys-globals.boot.
diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in
index fc83f916..9567360f 100644
--- a/src/interp/Makefile.in
+++ b/src/interp/Makefile.in
@@ -39,7 +39,7 @@ DEP= nlib.lisp \
axext_l.lisp
depsys_lisp_macro_sources = vmlisp.lisp ggreater.lisp hash.lisp \
- bootfuns.lisp union.lisp nlib.lisp macros.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
@@ -54,7 +54,7 @@ DEBUGSYS=$(axiom_build_bindir)/debugsys$(EXEEXT)
OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
diagnostics.$(FASLEXT) \
- bootfuns.$(FASLEXT) macros.$(FASLEXT) \
+ macros.$(FASLEXT) \
unlisp.$(FASLEXT) setq.$(FASLEXT) \
astr.$(FASLEXT) bits.$(FASLEXT) \
alql.$(FASLEXT) buildom.$(FASLEXT) \
@@ -110,7 +110,7 @@ OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
-AXIOMsys_noncompiled_lisp_sources = bootfuns.lisp nocompil.lisp \
+AXIOMsys_noncompiled_lisp_sources = nocompil.lisp \
postprop.lisp property.lisp setq.lisp
AXIOMsys_compiled_lisp_sources = bits.lisp \
@@ -296,7 +296,6 @@ makeint.lisp: ${DEPSYS} ${OBJS} bookvol5.$(FASLEXT) util.$(FASLEXT) \
$(axiom_target_datadir)/msgs
@ echo '(|importModule| "vmlisp")' >> makeint.lisp
@ echo '(|importModule| "hash")' >> makeint.lisp
- @ echo '(|importModule| "bootfuns")' >> makeint.lisp
@ echo '(gbc t)' >> makeint.lisp
@ echo '(load "nocompil.lisp")' >> makeint.lisp
@ echo '(|importModule| "bookvol5")' >> makeint.lisp
@@ -348,7 +347,6 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \
sys-constants.$(FASLEXT) \
sys-globals.$(FASLEXT) \
diagnostics.$(FASLEXT) \
- bootfuns.$(FASLEXT) \
${DEP} \
nocompil.$(FASLEXT) \
bookvol5.$(FASLEXT)\
@@ -371,10 +369,9 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \
@ echo '(|importModule| "hash")' >> makedep.lisp
@ echo '(|importModule| "ggreater")' >> makedep.lisp
@ echo '(|importModule| "union")' >> makedep.lisp
- @ echo '(|importModule| "bootfuns")' >> makedep.lisp
@ echo '(|importModule| "nocompil")' >> makedep.lisp
- @ echo '(|importModule| "bookvol5")' >> makedep.lisp
@ echo '(|importModule| "parsing")' >> makedep.lisp
+ @ echo '(|importModule| "bookvol5")' >> makedep.lisp
@ echo '(|importModule| "util")' >> makedep.lisp
@ echo '(in-package "BOOT")' >> makedep.lisp
@ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${AXIOM}")' >> makedep.lisp
@@ -429,10 +426,6 @@ bookvol5.$(FASLEXT): bookvol5.lisp boot-pkg.$(FASLEXT)
nocompil.$(FASLEXT): nocompil.lisp boot-pkg.$(FASLEXT)
$(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
-bootfuns.$(FASLEXT): bootfuns.lisp hash.$(FASLEXT) \
- sys-constants.$(FASLEXT) sys-globals.$(FASLEXT)
- $(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
-
diagnostics.$(FASLEXT): diagnostics.boot sys-constants.$(FASLEXT) \
sys-globals.$(FASLEXT)
$(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet
index 694e808f..ac9fd061 100644
--- a/src/interp/Makefile.pamphlet
+++ b/src/interp/Makefile.pamphlet
@@ -157,12 +157,6 @@ The [[depsys]] image is made of the following Lisp source files
\item[\File{hash.lisp}] This file defines a ``hash table'' module.
Its content is defined in package [[VMLISP]].
- \item[\File{bootfuns.lisp}] This file collects forward references
- of functions that are needed in the [[BOOT]] package, to be defined
- latter. It is not at all clear that this file is needed to
- build the Boot to Common Lisp translator. Its content is
- defined in package [[BOOT]].
-
\item[\File{union.lisp}] This file defines functions that
compute set-theoretic operations (union, difference, intersection, etc.).
Its content is in package [[VMLISP]].
@@ -283,7 +277,7 @@ DEP= nlib.lisp \
axext_l.lisp
depsys_lisp_macro_sources = vmlisp.lisp ggreater.lisp hash.lisp \
- bootfuns.lisp union.lisp nlib.lisp macros.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
@@ -330,9 +324,7 @@ loaded into a clean lisp image ({\bf LOADSYS}) and saved as
a runnable \Tool{OpenAxiom} interpreter ({\bf SAVESYS}) usually named
\Tool{interpsys}. Most of these files
are translated from Boot to Common Lisp and then
-compiled. There are two exceptions, \File{bootfuns.lisp}
-and \File{setq.lisp}. The \File{bootfuns.lisp} \cite{3} file
-contains forward references for Boot code. The \File{setq.lisp}
+compiled. The \File{setq.lisp}
file contains constant initialization code which gains nothing
by being compiled.
@@ -348,7 +340,7 @@ interpreted) in [[depsys]].
<<environment>>=
OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
diagnostics.$(FASLEXT) \
- bootfuns.$(FASLEXT) macros.$(FASLEXT) \
+ macros.$(FASLEXT) \
unlisp.$(FASLEXT) setq.$(FASLEXT) \
astr.$(FASLEXT) bits.$(FASLEXT) \
alql.$(FASLEXT) buildom.$(FASLEXT) \
@@ -404,7 +396,7 @@ OBJS= vmlisp.$(FASLEXT) hash.$(FASLEXT) \
interpsys_modules = $(patsubst %.$(FASLEXT), "%", $(OBJS))
-AXIOMsys_noncompiled_lisp_sources = bootfuns.lisp nocompil.lisp \
+AXIOMsys_noncompiled_lisp_sources = nocompil.lisp \
postprop.lisp property.lisp setq.lisp
AXIOMsys_compiled_lisp_sources = bits.lisp \
@@ -996,7 +988,6 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \
sys-constants.$(FASLEXT) \
sys-globals.$(FASLEXT) \
diagnostics.$(FASLEXT) \
- bootfuns.$(FASLEXT) \
${DEP} \
nocompil.$(FASLEXT) \
bookvol5.$(FASLEXT)\
@@ -1019,10 +1010,9 @@ ${DEPSYS}: vmlisp.$(FASLEXT) \
@ echo '(|importModule| "hash")' >> makedep.lisp
@ echo '(|importModule| "ggreater")' >> makedep.lisp
@ echo '(|importModule| "union")' >> makedep.lisp
- @ echo '(|importModule| "bootfuns")' >> makedep.lisp
@ echo '(|importModule| "nocompil")' >> makedep.lisp
- @ echo '(|importModule| "bookvol5")' >> makedep.lisp
@ echo '(|importModule| "parsing")' >> makedep.lisp
+ @ echo '(|importModule| "bookvol5")' >> makedep.lisp
@ echo '(|importModule| "util")' >> makedep.lisp
@ echo '(in-package "BOOT")' >> makedep.lisp
@ echo '(build-depsys (quote ($(patsubst %, "%", ${DEP}))) "${AXIOM}")' >> makedep.lisp
@@ -1076,10 +1066,6 @@ bookvol5.$(FASLEXT): bookvol5.lisp boot-pkg.$(FASLEXT)
nocompil.$(FASLEXT): nocompil.lisp boot-pkg.$(FASLEXT)
$(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
-bootfuns.$(FASLEXT): bootfuns.lisp hash.$(FASLEXT) \
- sys-constants.$(FASLEXT) sys-globals.$(FASLEXT)
- $(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
-
diagnostics.$(FASLEXT): diagnostics.boot sys-constants.$(FASLEXT) \
sys-globals.$(FASLEXT)
$(BOOTSYS) -- --compile --output=$@ --load-directory=. $<
@@ -1159,7 +1145,6 @@ makeint.lisp: ${DEPSYS} ${OBJS} bookvol5.$(FASLEXT) util.$(FASLEXT) \
$(axiom_target_datadir)/msgs
@ echo '(|importModule| "vmlisp")' >> makeint.lisp
@ echo '(|importModule| "hash")' >> makeint.lisp
- @ echo '(|importModule| "bootfuns")' >> makeint.lisp
@ echo '(gbc t)' >> makeint.lisp
@ echo '(load "nocompil.lisp")' >> makeint.lisp
@ echo '(|importModule| "bookvol5")' >> makeint.lisp
@@ -2300,7 +2285,6 @@ pp
\begin{thebibliography}{99}
\bibitem{1} \File{Makefile.pamphlet}
\bibitem{2} \File{src/boot/Makefile.pamphlet}
-\bibitem{3} \File{src/interp/bootfuns.lisp.pamphlet}
\bibitem{4} \File{src/interp/setq.lisp.pamphlet}
\bibitem{5} \File{src/interp/patches.lisp.pamphlet}
\bibitem{6} {\bf www.aldor.org}
diff --git a/src/interp/bootfuns.lisp.pamphlet b/src/interp/bootfuns.lisp.pamphlet
deleted file mode 100644
index ed8b3dc0..00000000
--- a/src/interp/bootfuns.lisp.pamphlet
+++ /dev/null
@@ -1,114 +0,0 @@
-%% Oh Emacs, this is a -*- Lisp -*- file despite apperance.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{\File{src/interp/bootfuns.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.
-;;
-;; 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.
-
-@
-
-
-
-\section{The [[BOOT]] package}
-
-Everything in axiom that the user references eventually shows
-up here. The interpreter and the algebra are run after switching
-to the boot package (in-package "BOOT") so any symbol that the
-interpreter or algebra uses has to (cough, cough) appear here.
-<<*>>=
-<<license>>
-
-(IMPORT-MODULE "sys-constants")
-(IMPORT-MODULE "sys-globals")
-
-@
-
-Note that it is confusing the package \Tool{Axiom}'s compiler and
-interpreter use is called [[BOOT]]. It should have been
-[[Spad]], or better yet [[Axiom]].
-
-
-
-\section{Portability issues}
-
-This section discusses some portability issues known to affect
-this module.
-
-\subsection{[[compiler-let]]}
-
-The construct [[compiler-let]] is not part of ANSI Lisp, although
-it had been described in CLTL. Therefore some Lisp implementations
-offer it as extensions.
-
-<<non-portable-codes>>=
-#+:clisp (import 'ext:compiler-let)
-@
-
-<<*>>=
-
-; NAME: Boot Package
-; PURPOSE: Provide forward references to Boot Code for functions to be at
-; defined at the boot level, but which must be accessible
-; not defined at lower levels.
-
-(in-package "BOOT")
-
-<<non-portable-codes>>
-
-(defmacro def-boot-val (p val where)
- `(compiler-let nil
- (defparameter ,p ,val ,where)
- (export '(,p) "BOOT")))
-
-
-(def-boot-val |$spadLibFT| 'LISPLIB "???")
-@
-\eject
-\begin{thebibliography}{99}
-\bibitem{1} nothing
-\end{thebibliography}
-\end{document}
diff --git a/src/interp/bootlex.lisp.pamphlet b/src/interp/bootlex.lisp.pamphlet
index db7eaece..9913b93d 100644
--- a/src/interp/bootlex.lisp.pamphlet
+++ b/src/interp/bootlex.lisp.pamphlet
@@ -129,7 +129,6 @@
&aux
(Echo-Meta t)
($BOOT T)
- (|$InteractiveMode| NIL)
(XCape #\_)
(File-Closed NIL)
(*EOF* NIL)
@@ -137,6 +136,7 @@
(*fileactq-apply* (function print-defun))
(*comp370-apply* (function print-defun)))
(declare (special echo-meta *comp370-apply* *EOF* File-Closed XCape))
+ (setq |$InteractiveMode| NIL)
(init-boot/spad-reader)
(with-open-stream
(in-stream (if *boot-input-file* (open *boot-input-file* :direction :input)
@@ -177,7 +177,6 @@
;; (*comp370-apply* (function print-and-eval-defun))
(*comp370-apply* (function print-defun))
(*fileactq-apply* (function print-defun))
- ;; (|$InteractiveMode| nil)
($SPAD T)
($BOOT nil)
(XCape #\_)
@@ -190,6 +189,7 @@
in-stream out-stream)
(declare (special echo-meta /editfile *comp370-apply* *EOF*
File-Closed Xcape |$noSubsumption|))
+ (setq |$InteractiveMode| nil)
;; only rebind |$InteractiveFrame| if compiling
(progv (if (not |$InteractiveMode|) '(|$InteractiveFrame|))
(if (not |$InteractiveMode|)
diff --git a/src/interp/category.boot.pamphlet b/src/interp/category.boot.pamphlet
index 88c1c635..0dfa2b45 100644
--- a/src/interp/category.boot.pamphlet
+++ b/src/interp/category.boot.pamphlet
@@ -601,6 +601,12 @@ JoinInner(l,$e) ==
if pName and not member(pName,c) then c:= [pName,:c]
$NewCatVec.4:= [c,FundamentalAncestors,CADDR $NewCatVec.4]
mkCategory("domain",sigl,attl,globalDomains,$NewCatVec)
+
+Join(:l) ==
+ e :=
+ (not BOUNDP '$e) or null $e or $InteractiveMode => $CategoryFrame
+ $e
+ JoinInner(l, e)
--ProduceDomainAlist(u,e) ==
-- -- Gives a complete Alist for all the functions in the Domain
diff --git a/src/interp/macros.lisp.pamphlet b/src/interp/macros.lisp.pamphlet
index c17defdb..5437ae2d 100644
--- a/src/interp/macros.lisp.pamphlet
+++ b/src/interp/macros.lisp.pamphlet
@@ -140,8 +140,7 @@ ends up being [[CONTAINED |$EmptyMode| Y]].
<<*>>=
<<license>>
-(provide 'Boot)
-
+(import-module "sys-constants")
(in-package "BOOT")
(defvar |$compilingMap| ())
diff --git a/src/interp/nocompil.lisp.pamphlet b/src/interp/nocompil.lisp.pamphlet
index a3a3c980..6e7b6bf1 100644
--- a/src/interp/nocompil.lisp.pamphlet
+++ b/src/interp/nocompil.lisp.pamphlet
@@ -69,6 +69,7 @@ with this hack and will try to convince the GCL crowd to fix this.
<<gcl-cmpnote>>
+(import-module "boot-pkg")
(in-package "BOOT")
(defun protected-symbol-warn (&rest arg))
@@ -89,13 +90,6 @@ with this hack and will try to convince the GCL crowd to fix this.
#+:ccl
(format t "protected-symbol-warn called with ~A~%" arg))
-;; NOTE: JoinInner is defined in CATEGORY BOOT
-;; following code needs to run interpreted to overcome arglist length limits
-(defun |Join| (&rest L)
- (|JoinInner| L (if (OR (not (boundp '|$e|)) (NULL |$e|) |$InteractiveMode|)
- |$CategoryFrame|
- |$e|)))
-
@
\eject
\begin{thebibliography}{99}
diff --git a/src/interp/setq.lisp.pamphlet b/src/interp/setq.lisp.pamphlet
index a9755811..ec909e6d 100644
--- a/src/interp/setq.lisp.pamphlet
+++ b/src/interp/setq.lisp.pamphlet
@@ -280,8 +280,6 @@
(SETQ |$CommandSynonymAlist| (COPY |$InitialCommandSynonymAlist|))
-(SETQ |$spadLibFT| 'LISPLIB)
-
(SETQ |$existingFiles| (MAKE-HASHTABLE 'UEQUAL))
(SETQ |$instantRecord| (MAKE-HASHTABLE 'ID))
diff --git a/src/interp/sys-globals.boot b/src/interp/sys-globals.boot
index a31bf340..6ea1d04a 100644
--- a/src/interp/sys-globals.boot
+++ b/src/interp/sys-globals.boot
@@ -161,7 +161,7 @@ $instantRecord := MAKE_-HASHTABLE "ID"
$InteractiveFrame := [[nil]]
++
-$InteractiveMode := true
+$InteractiveMode := false
++
$InteractiveTimingStatsIfTrue := false
@@ -333,3 +333,6 @@ $CategoryFrame :=
'((((Category (modemap (((Category) (Category)) (T *))))_
(Join (modemap (((Category) (Category) (Category)) (T *))_
(((Category) (Category) (List Category)) (T *)))))))
+
+++
+$spadLibFT := "NRLIB"