aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-10-08 20:35:48 +0000
committerdos-reis <gdr@axiomatics.org>2008-10-08 20:35:48 +0000
commit2a99c68c951cc35192d8f0fe733f0c7ff0b7d31c (patch)
treeb701eea99af177726980304e5211fa817d37886e /src/boot/ast.boot
parenta1b2cf9cb8b3369a938ee80cc028eca8fef4d1ce (diff)
downloadopen-axiom-2a99c68c951cc35192d8f0fe733f0c7ff0b7d31c.tar.gz
* boot/ast.boot (bfReduce): Check neutral value for original
operator too. (bfReduceCollect): Likewise.
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r--src/boot/ast.boot6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index 9bdd3e08..1e8a1452 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -348,7 +348,7 @@ bfSep(iters)==
bfReduce(op,y)==
a:=if EQCAR(op,"QUOTE") then second op else op
op:=bfReName a
- init:=GET(op,"SHOETHETA")
+ init := GET(a,"SHOETHETA") or GET(op,"SHOETHETA")
g:=bfGenSymbol()
g1:=bfGenSymbol()
body:=['SETQ,g,[op,g,g1]]
@@ -371,7 +371,7 @@ bfReduceCollect(op,y)==
itl:=y.2
a:=if EQCAR(op,"QUOTE") then second op else op
op:=bfReName a
- init:=GET(op,"SHOETHETA")
+ init := GET(a, "SHOETHETA") or GET(op,"SHOETHETA")
bfOpReduce(op,init,body,itl)
else
a:=bfTupleConstruct (y.1)
@@ -436,7 +436,7 @@ bfOpReduce(op,init,y,itl)==
then
g1:=bfGenSymbol()
init:=['CAR,g1]
- y:=['CDR,g1]
+ y:=['CDR,g1] -- ??? bogus self-assignment/initialization
extrait:= [[[g],[init],[],[],[],[g]]]
bfMKPROGN [['L%T,g1,y],bfLp2(extrait,itl,body)]
else