aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r--src/boot/ast.boot15
1 files changed, 2 insertions, 13 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index 2fee3a7a..e7a6f85e 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -368,22 +368,11 @@ bfDTuple x ==
["DTUPLE",x]
bfCollect(y,itl) ==
- y is ["COLON",a] => bf0APPEND(a,itl)
+ y is ["COLON",a] => bfListReduce('APPEND,['reverse,a],itl)
y is ["TUPLE",:.] =>
- newBody := bfConstruct y
- bf0APPEND(newBody,itl)
- bf0COLLECT(y,itl)
-
-bf0COLLECT(y,itl) ==
+ bfListReduce('APPEND,['reverse,bfConstruct y],itl)
bfListReduce('CONS,y,itl)
-
-bf0APPEND(y,itl)==
- g := bfGenSymbol()
- body := ['SETQ,g,['APPEND,['reverse,y],g]]
- extrait := [[[g],[nil],[],[],[],[['reverse!,g]]]]
- bfLp2(extrait,itl,body)
-
bfListReduce(op,y,itl)==
g := bfGenSymbol()
body := ['SETQ,g,[op,y,g]]