diff --git a/changelog b/changelog index 7ef506c..8ce345e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20090810 tpd src/axiom-website/patches.html 20090810.01.tpd.patch +20090810 tpd src/interp/Makefile move alql.boot to alql.lisp +20090810 tpd src/interp/debugsys.lisp change alql.clisp to alql.lisp +20090810 tpd src/interp/alql.lisp added, rewritten from alql.boot +20090810 tpd src/interp/alql.boot removed, rewritten to alql.lisp 20090809 tpd src/axiom-website/patches.html 20090809.03.tpd.patch 20090809 tpd src/interp/Makefile remove unlisp.lisp 20090809 tpd src/interp/debugsys.lisp remove unlisp reference diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 718dac8..eae5442 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1766,6 +1766,8 @@ vmlisp.lisp and setq.lisp merged
vmlisp.lisp and property.lisp merged
20090809.03.tpd.patch vmlisp.lisp and unlisp.lisp merged
+20090810.01.tpd.patch +alql.lisp rewrite from boot to lisp
diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 2436ab0..6416278 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -409,8 +409,7 @@ We need a list of all of the pamphlet files so we can generate the document files. In make's traditional "pull to the target" fashion we need to provide a list of target dvi files. <>= -DOCFILES=${DOC}/alql.boot.dvi \ - ${DOC}/as.boot.dvi \ +DOCFILES=${DOC}/as.boot.dvi \ ${DOC}/astr.boot.dvi ${DOC}/ax.boot.dvi \ ${DOC}/axext_l.lisp.dvi \ ${DOC}/bc-matrix.boot.dvi \ @@ -1606,45 +1605,26 @@ ${DOC}/vmlisp.lisp.dvi: ${IN}/vmlisp.lisp.pamphlet @ -\subsection{alql.boot \cite{40}} +\subsection{alql.lisp} <>= -${OUT}/alql.${O}: ${MID}/alql.clisp - @ echo 139 making ${OUT}/alql.${O} from ${MID}/alql.clisp - @ (cd ${MID} ; \ +${OUT}/alql.${O}: ${MID}/alql.lisp + @ echo 136 making ${OUT}/alql.${O} from ${MID}/alql.lisp + @ ( cd ${MID} ; \ if [ -z "${NOISE}" ] ; then \ - echo '(progn (compile-file "${MID}/alql.clisp"' \ + echo '(progn (compile-file "${MID}/alql.lisp"' \ ':output-file "${OUT}/alql.${O}") (${BYE}))' | ${DEPSYS} ; \ else \ - echo '(progn (compile-file "${MID}/alql.clisp"' \ + echo '(progn (compile-file "${MID}/alql.lisp"' \ ':output-file "${OUT}/alql.${O}") (${BYE}))' | ${DEPSYS} \ >${TMP}/trace ; \ fi ) @ -<>= -${MID}/alql.clisp: ${IN}/alql.boot.pamphlet - @ echo 140 making ${MID}/alql.clisp from ${IN}/alql.boot.pamphlet +<>= +${MID}/alql.lisp: ${IN}/alql.lisp.pamphlet + @ echo 137 making ${MID}/alql.lisp from ${IN}/alql.lisp.pamphlet @ (cd ${MID} ; \ - ${TANGLE} ${IN}/alql.boot.pamphlet >alql.boot ; \ - if [ -z "${NOISE}" ] ; then \ - echo '(progn (boottran::boottocl "alql.boot") (${BYE}))' \ - | ${DEPSYS} ; \ - else \ - echo '(progn (boottran::boottocl "alql.boot") (${BYE}))' \ - | ${DEPSYS} >${TMP}/trace ; \ - fi ; \ - rm alql.boot ) - -@ -<>= -${DOC}/alql.boot.dvi: ${IN}/alql.boot.pamphlet - @echo 141 making ${DOC}/alql.boot.dvi from ${IN}/alql.boot.pamphlet - @(cd ${DOC} ; \ - cp ${IN}/alql.boot.pamphlet ${DOC} ; \ - ${DOCUMENT} ${NOISE} alql.boot ; \ - rm -f ${DOC}/alql.boot.pamphlet ; \ - rm -f ${DOC}/alql.boot.tex ; \ - rm -f ${DOC}/alql.boot ) + ${TANGLE} ${IN}/alql.lisp.pamphlet >alql.lisp ) @ @@ -6903,8 +6883,7 @@ clean: <> <> -<> -<> +<> <> <> @@ -7526,7 +7505,6 @@ pp \bibitem{36} {\bf \$SPAD/src/interp/sys-pkg.lisp.pamphlet} \bibitem{38} {\bf \$SPAD/src/interp/util.lisp.pamphlet} \bibitem{39} {\bf \$SPAD/src/interp/vmlisp.lisp.pamphlet} -\bibitem{40} {\bf \$SPAD/src/interp/alql.boot.pamphlet} \bibitem{41} {\bf \$SPAD/src/interp/buildom.boot.pamphlet} \bibitem{42} {\bf \$SPAD/src/interp/c-util.boot.pamphlet} \bibitem{43} {\bf \$SPAD/src/interp/nag-c02.boot.pamphlet} diff --git a/src/interp/alql.boot.pamphlet b/src/interp/alql.boot.pamphlet deleted file mode 100644 index 4acf79d..0000000 --- a/src/interp/alql.boot.pamphlet +++ /dev/null @@ -1,77 +0,0 @@ -\documentclass{article} -\usepackage{axiom} -\begin{document} -\title{\$SPAD/src/interp alql.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. - -@ -<<*>>= -<> - -getBrowseDatabase(kind) == - $includeUnexposed? : local := true - not FUNCALL("member",kind,'("o" "k" "c" "d" "p")) => nil - grepConstruct('"*",INTERN kind) - -stringMatches?(pattern,subject) == - FIXP basicMatch?(pattern,subject) => true - false - -alqlGetKindString(x) == - x.0 = char 'a or x.0 = char 'o => SUBSTRING(dbPart(x,5,1),0,1) - SUBSTRING(x,0,1) - -alqlGetOrigin(x) == - field :=dbPart(x,5,1) - k := charPosition(char '_(,field,2) - SUBSTRING(field,1,k-1) - -alqlGetParams(x) == - field :=dbPart(x,5,1) - k := charPosition(char '_(,field,2) - SUBSTRING(field,k,nil) - -@ -\eject -\begin{thebibliography}{99} -\bibitem{1} nothing -\end{thebibliography} -\end{document} diff --git a/src/interp/alql.lisp.pamphlet b/src/interp/alql.lisp.pamphlet new file mode 100644 index 0000000..08341a8 --- /dev/null +++ b/src/interp/alql.lisp.pamphlet @@ -0,0 +1,89 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/interp alql.boot} +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +<<*>>= + +;; Note: this seems to only be used in the ICARD (IndexCard) domain + +(IN-PACKAGE "BOOT" ) + +;getBrowseDatabase(kind) == +; $includeUnexposed? : local := true +; not FUNCALL("member",kind,'("o" "k" "c" "d" "p")) => nil +; grepConstruct('"*",INTERN kind) + +(DEFUN |getBrowseDatabase| (|kind|) + (PROG (|$includeUnexposed?|) + (DECLARE (SPECIAL |$includeUnexposed?|)) + (RETURN + (PROGN + (SPADLET |$includeUnexposed?| (QUOTE T)) + (COND + ((NULL (FUNCALL (QUOTE |member|) |kind| (QUOTE ("o" "k" "c" "d" "p")))) + NIL) + ((QUOTE T) + (|grepConstruct| (MAKESTRING "*") (INTERN |kind|)))))))) + +;stringMatches?(pattern,subject) == +; FIXP basicMatch?(pattern,subject) => true +; false + +(DEFUN |stringMatches?| (|pattern| |subject|) + (COND + ((FIXP (|basicMatch?| |pattern| |subject|)) (QUOTE T)) + ((QUOTE T) NIL))) + +;alqlGetKindString(x) == +; x.0 = char 'a or x.0 = char 'o => SUBSTRING(dbPart(x,5,1),0,1) +; SUBSTRING(x,0,1) + +(DEFUN |alqlGetKindString| (|x|) + (COND + ((OR (BOOT-EQUAL (ELT |x| 0) (|char| (QUOTE |a|))) + (BOOT-EQUAL (ELT |x| 0) (|char| (QUOTE |o|)))) + (SUBSTRING (|dbPart| |x| 5 1) 0 1)) + ((QUOTE T) + (SUBSTRING |x| 0 1)))) + +;alqlGetOrigin(x) == +; field :=dbPart(x,5,1) +; k := charPosition(char '_(,field,2) +; SUBSTRING(field,1,k-1) + +(DEFUN |alqlGetOrigin| (|x|) + (PROG (|field| |k|) + (RETURN + (PROGN + (SPADLET |field| (|dbPart| |x| 5 1)) + (SPADLET |k| + (|charPosition| (|char| (QUOTE |(|)) |field| 2)) + (SUBSTRING |field| 1 (SPADDIFFERENCE |k| 1)))))) + +;alqlGetParams(x) == +; field :=dbPart(x,5,1) +; k := charPosition(char '_(,field,2) +; SUBSTRING(field,k,nil) + +(DEFUN |alqlGetParams| (|x|) + (PROG (|field| |k|) + (RETURN + (PROGN + (SPADLET |field| (|dbPart| |x| 5 1)) + (SPADLET |k| + (|charPosition| (|char| (QUOTE |(|)) |field| 2)) + (SUBSTRING |field| |k| NIL))))) + +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} diff --git a/src/interp/debugsys.lisp.pamphlet b/src/interp/debugsys.lisp.pamphlet index 6c6ca78..c76e383 100644 --- a/src/interp/debugsys.lisp.pamphlet +++ b/src/interp/debugsys.lisp.pamphlet @@ -86,7 +86,7 @@ loaded by hand we need to establish a value. (list (thesymb "/int/interp/vmlisp.lisp") (thesymb "/int/interp/astr.clisp") - (thesymb "/int/interp/alql.clisp") + (thesymb "/int/interp/alql.lisp") (thesymb "/int/interp/buildom.clisp") (thesymb "/int/interp/cattable.clisp") (thesymb "/int/interp/cformat.clisp")