diff options
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|)))))))) + |