diff --git a/changelog b/changelog index 1a080a5..20620f7 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20090811 tpd src/axiom-website/patches.html 20090811.01.tpd.patch +20090811 tpd src/interp/Makefile move dq.boot to dq.lisp +20090811 tpd src/interp/debugsys.lisp change astr.clisp to dq.lisp +20090811 tpd src/interp/dq.lisp added, rewritten from dq.boot +20090811 tpd src/interp/dq.boot removed, rewritten to dq.lisp 20090810 tpd src/axiom-website/patches.html 20090810.03.tpd.patch 20090810 tpd src/interp/Makefile move astr.boot to buildom.lisp 20090810 tpd src/interp/debugsys.lisp change buildom.clisp to buildom.lisp diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 08fd6ef..bbdc3e9 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1772,6 +1772,8 @@ alql.lisp rewrite from boot to lisp
astr.lisp rewrite from boot to lisp
20090810.03.tpd.patch buildom.lisp rewrite from boot to lisp
+20090811.01.tpd.patch +dq.lisp rewrite from boot to lisp
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 5dcf83c..57303ea 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -424,7 +424,6 @@ DOCFILES=${DOC}/as.boot.dvi \ ${DOC}/c-util.boot.dvi ${DOC}/daase.lisp.dvi \ ${DOC}/database.boot.dvi \ ${DOC}/define.boot.dvi \ - ${DOC}/dq.boot.dvi \ ${DOC}/fname.lisp.dvi \ ${DOC}/foam_l.lisp.dvi \ ${DOC}/format.boot.dvi ${DOC}/fortcall.boot.dvi \ @@ -5687,44 +5686,26 @@ ${DOC}/ptrop.boot.dvi: ${IN}/ptrop.boot.pamphlet @ -\subsection{dq.boot} +\subsection{dq.lisp} <>= -${OUT}/dq.${O}: ${MID}/dq.clisp - @ echo 525 making ${OUT}/dq.${O} from ${MID}/dq.clisp - @ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/dq.clisp"' \ +${OUT}/dq.${O}: ${MID}/dq.lisp + @ echo 531 making ${OUT}/dq.${O} from ${MID}/dq.lisp + @ ( cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo '(progn (compile-file "${MID}/dq.lisp"' \ ':output-file "${OUT}/dq.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/dq.clisp"' \ + echo '(progn (compile-file "${MID}/dq.lisp"' \ ':output-file "${OUT}/dq.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ - fi + fi ) @ -<>= -${MID}/dq.clisp: ${IN}/dq.boot.pamphlet - @ echo 526 making ${MID}/dq.clisp from ${IN}/dq.boot.pamphlet +<>= +${MID}/dq.lisp: ${IN}/dq.lisp.pamphlet + @ echo 532 making ${MID}/dq.lisp from ${IN}/dq.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/dq.boot.pamphlet >dq.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boottran::boottocl "${MID}/dq.boot") (${BYE}))' \ - | ${BOOTSYS} ; \ - else \ - echo '(progn (boottran::boottocl "${MID}/dq.boot") (${BYE}))' \ - | ${BOOTSYS} >${TMP}/trace ; \ - fi ; \ - rm dq.boot ) - -@ -<>= -${DOC}/dq.boot.dvi: ${IN}/dq.boot.pamphlet - @echo 527 making ${DOC}/dq.boot.dvi from ${IN}/dq.boot.pamphlet - @(cd ${DOC} ; \ - cp ${IN}/dq.boot.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} dq.boot ; \ - rm -f ${DOC}/dq.boot.pamphlet ; \ - rm -f ${DOC}/dq.boot.tex ; \ - rm -f ${DOC}/dq.boot ) + ${TANGLE} ${IN}/dq.lisp.pamphlet >dq.lisp ) @ @@ -6955,8 +6936,7 @@ clean: <> <> -<> -<> +<> <> <> diff --git a/src/interp/debugsys.lisp.pamphlet b/src/interp/debugsys.lisp.pamphlet index 8d91800..7eb950f 100644 --- a/src/interp/debugsys.lisp.pamphlet +++ b/src/interp/debugsys.lisp.pamphlet @@ -98,7 +98,7 @@ loaded by hand we need to establish a value. (thesymb "/int/interp/cparse.clisp") (thesymb "/int/interp/cstream.clisp") (thesymb "/int/interp/database.clisp") - (thesymb "/int/interp/dq.clisp") + (thesymb "/int/interp/dq.lisp") (thesymb "/int/interp/fname.lisp") (thesymb "/int/interp/format.clisp") (thesymb "/int/interp/g-boot.clisp") diff --git a/src/interp/dq.boot.pamphlet b/src/interp/dq.boot.pamphlet deleted file mode 100644 index 1346ecc..0000000 --- a/src/interp/dq.boot.pamphlet +++ /dev/null @@ -1,100 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp dq.boot} -\author{The Axiom Team} -\maketitle -\begin{abstract} -\end{abstract} -\eject -\tableofcontents -\eject -\section{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. - -@ -<<*>>= -<> - -)package "BOOT" - --- Dequeue functions - --- dqUnit makes a unit dq i.e. a dq with one item, from the item - --- dqUnitCopy copies a unit dq - --- dqAppend appends 2 dq's, destroying the first - --- dqConcat concatenates a list of dq's, destroying all but the last - --- dqToList transforms a dq to a list - -dqUnit s==(a:=[s];CONS(a,a)) - -dqUnitCopy s== dqUnit(CAAR s) - -dqAppend(x,y)== - if null x - then y - else if null y - then x - else - RPLACD (CDR x,CAR y) - RPLACD (x, CDR y) - x - -dqConcat ld== - if null ld - then nil - else if null rest ld - then first ld - else dqAppend(first ld,dqConcat rest ld) - -dqToList s==if null s then nil else CAR s - -dqAddAppend(x,y)== - if null x - then nil - else if null y - then nil - else - RPLACD (CDR x,CAR y) - RPLACD (x, CDR y) - x -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/dq.lisp.pamphlet b/src/interp/dq.lisp.pamphlet new file mode 100644 index 0000000..40202fc --- /dev/null +++ b/src/interp/dq.lisp.pamphlet @@ -0,0 +1,107 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp dq.lisp} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= + +(IN-PACKAGE "BOOT") + +;-- Dequeue functions + +;dqUnit s==(a:=[s];CONS(a,a)) + +;-- dqUnit makes a unit dq i.e. a dq with one item, from the item + +(DEFUN |dqUnit| (|s|) + (PROG (|a|) + (RETURN + (PROGN + (SETQ |a| (LIST |s|)) + (CONS |a| |a|))))) + +;dqUnitCopy s== dqUnit(CAAR s) + +;-- dqUnitCopy copies a unit dq + +(DEFUN |dqUnitCopy| (|s|) + (PROG NIL + (RETURN (|dqUnit| (CAAR |s|))))) + +;-- dqAppend appends 2 dq's, destroying the first + +;dqAppend(x,y)== +; if null x +; then y +; else if null y +; then x +; else +; RPLACD (CDR x,CAR y) +; RPLACD (x, CDR y) +; x + +(DEFUN |dqAppend| (|x| |y|) + (PROG NIL + (RETURN + (COND + ((NULL |x|) |y|) + ((NULL |y|) |x|) + ((QUOTE T) (RPLACD (CDR |x|) (CAR |y|)) (RPLACD |x| (CDR |y|)) |x|))))) + +;dqConcat ld== +; if null ld +; then nil +; else if null rest ld +; then first ld +; else dqAppend(first ld,dqConcat rest ld) + +;-- dqConcat concatenates a list of dq's, destroying all but the last + +(DEFUN |dqConcat| (|ld|) + (PROG NIL + (RETURN + (COND + ((NULL |ld|) NIL) + ((NULL (CDR |ld|)) (CAR |ld|)) + ((QUOTE T) (|dqAppend| (CAR |ld|) (|dqConcat| (CDR |ld|)))))))) + +;dqToList s==if null s then nil else CAR s + +(DEFUN |dqToList| (|s|) + (PROG NIL + (RETURN + (COND + ((NULL |s|) NIL) + ((QUOTE T) (CAR |s|)))))) + +;dqAddAppend(x,y)== +; if null x +; then nil +; else if null y +; then nil +; else +; RPLACD (CDR x,CAR y) +; RPLACD (x, CDR y) +; x + +;-- dqAddAppend transforms a dq to a list + +(DEFUN |dqAddAppend| (|x| |y|) + (PROG NIL + (RETURN + (COND + ((NULL |x|) NIL) + ((NULL |y|) NIL) + ((QUOTE T) (RPLACD (CDR |x|) (CAR |y|)) (RPLACD |x| (CDR |y|)) |x|))))) +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document}