diff options
Diffstat (limited to 'src/boot/ast.boot')
-rw-r--r-- | src/boot/ast.boot | 15 |
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]] |