diff options
-rw-r--r-- | src/ChangeLog | 6 | ||||
-rw-r--r-- | src/boot/ast.boot | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 23586d9f..be8dd539 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2008-10-08 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * boot/ast.boot (bfReduce): Check neutral value for original + operator too. + (bfReduceCollect): Likewise. + 2008-10-07 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/i-util.boot (printPrompt): New. 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 |