diff --git a/books/bookvol9.pamphlet b/books/bookvol9.pamphlet index 25b1a11..4c1befb 100644 --- a/books/bookvol9.pamphlet +++ b/books/bookvol9.pamphlet @@ -1757,6 +1757,21 @@ Symbolics read-line returns embedded newlines in a c-m-Y.") @ +\defun{containsBang}{containsBang} +\calls{containsBang}{containsBang} +<>= +(defun |containsBang| (u) + (let (tmp2) + (cond + ((atom u) (eq u '!)) + ((and (pairp u) (equal (qcar u) 'quote) + (pairp (qcdr u)) (eq (qcdr (qcdr u)) nil)) + nil) + (t + (dolist (x u tmp2) + (setq tmp2 (or tmp2 (|containsBang| x)))))))) + +@ \chapter{The Compiler} @@ -4860,6 +4875,7 @@ if \verb|$InteractiveMode| then use a null outputstream <> <> <> +<> <> <> diff --git a/changelog b/changelog index bae4356..be414ed 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,6 @@ +20101006 tpd src/axiom-website/patches.html 20101006.03.tpd.patch +20101006 tpd src/interp/parsing.lisp treeshake compiler +20101006 tpd books/bookvol9 treeshake compiler 20101006 tpd src/axiom-website/patches.html 20101006.02.tpd.patch 20101006 tpd src/interp/parsing.lisp treeshake compiler 20101006 tpd books/bookvol9 treeshake compiler diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 3103f5e..0fd3fd2 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -3196,5 +3196,7 @@ books/bookvol6 add a research ideas section
books/bookvol9 treeshake compiler
20101006.02.tpd.patch books/bookvol9 treeshake compiler
+20101006.03.tpd.patch +books/bookvol9 treeshake compiler
diff --git a/src/interp/parsing.lisp.pamphlet b/src/interp/parsing.lisp.pamphlet index 7f6f438..fe72f8c 100644 --- a/src/interp/parsing.lisp.pamphlet +++ b/src/interp/parsing.lisp.pamphlet @@ -4583,14 +4583,6 @@ parse (DEFUN |unTuple| (|x|) (PROG (|y|) (RETURN (COND ((AND (PAIRP |x|) (EQ (QCAR |x|) (QUOTE |@Tuple|)) (PROGN (SPADLET |y| (QCDR |x|)) (QUOTE T))) |y|) ((QUOTE T) (LIST |x|)))))) ;--% APL TRANSFORMATION OF INPUT -;containsBang u == -; atom u => EQ(u,"!") -; u is [='QUOTE,.] => false -; or/[containsBang x for x in u] - -;;; *** |containsBang| REDEFINED - -(DEFUN |containsBang| (|u|) (PROG (|ISTMP#1|) (RETURN (SEQ (COND ((ATOM |u|) (EQ |u| (QUOTE !))) ((AND (PAIRP |u|) (EQUAL (QCAR |u|) (QUOTE QUOTE)) (PROGN (SPADLET |ISTMP#1| (QCDR |u|)) (AND (PAIRP |ISTMP#1|) (EQ (QCDR |ISTMP#1|) NIL)))) NIL) ((QUOTE T) (PROG (#0=#:G167897) (SPADLET #0# NIL) (RETURN (DO ((#1=#:G167903 NIL #0#) (#2=#:G167904 |u| (CDR #2#)) (|x| NIL)) ((OR #1# (ATOM #2#) (PROGN (SETQ |x| (CAR #2#)) NIL)) #0#) (SEQ (EXIT (SETQ #0# (OR #0# (|containsBang| |x|)))))))))))))) @ \eject \begin{thebibliography}{99}