diff options
author | dos-reis <gdr@axiomatics.org> | 2011-04-21 05:56:14 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-04-21 05:56:14 +0000 |
commit | 97463cc77bbec1c33f46ceb44584a180264682c3 (patch) | |
tree | 61d9cf3e25771fbdd5de776ea989aff622684aa3 /src/boot/strap/utility.clisp | |
parent | 1ca37b944b566ef3f0479d4c2fe6895e9fbd3785 (diff) | |
download | open-axiom-97463cc77bbec1c33f46ceb44584a180264682c3.tar.gz |
* boot/tokens.boot: Don't rename nreverse.
* boot/utility.boot (reverse!): Define.
* boot/parser.boot: Use reverse! instead of NREVERSE.
* boot/ast.boot: Generate reverse! forms instead of NREVERSE.
Diffstat (limited to 'src/boot/strap/utility.clisp')
-rw-r--r-- | src/boot/strap/utility.clisp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/boot/strap/utility.clisp b/src/boot/strap/utility.clisp index dac91a2b..60df1f22 100644 --- a/src/boot/strap/utility.clisp +++ b/src/boot/strap/utility.clisp @@ -6,7 +6,7 @@ (PROVIDE "utility") (EXPORT '(|objectMember?| |symbolMember?| |stringMember?| |charMember?| - |scalarMember?| |listMember?|)) + |scalarMember?| |listMember?| |reverse!|)) (DEFUN |objectMember?| (|x| |l|) (COND @@ -62,3 +62,14 @@ (T (SETQ |l| (CDR |l|))))) (T (RETURN (EQUAL |x| |l|)))))) +(DEFUN |reverse!| (|l|) + (PROG (|l2| |l1|) + (RETURN + (PROGN + (SETQ |l1| NIL) + (LOOP + (COND + ((CONSP |l|) (SETQ |l2| (CDR |l|)) (RPLACD |l| |l1|) + (SETQ |l1| |l|) (SETQ |l| |l2|)) + (T (RETURN |l1|)))))))) + |