diff options
Diffstat (limited to 'src/algebra/strap/ILIST.lsp')
-rw-r--r-- | src/algebra/strap/ILIST.lsp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/algebra/strap/ILIST.lsp b/src/algebra/strap/ILIST.lsp index f374f71d..16862cb2 100644 --- a/src/algebra/strap/ILIST.lsp +++ b/src/algebra/strap/ILIST.lsp @@ -292,20 +292,18 @@ (EXIT NIL))) (DEFUN |ILIST;concat!;3$;25| (|x| |y| $) - (PROG (|z|) - (RETURN - (COND - ((NULL |x|) - (COND - ((NULL |y|) |x|) - (T (SEQ (PUSH (|SPADfirst| |y|) |x|) (RPLACD |x| (CDR |y|)) - (EXIT |x|))))) - (T (SEQ (LETT |z| |x| |ILIST;concat!;3$;25|) - (LOOP - (COND - ((NOT (NOT (NULL (CDR |z|)))) (RETURN NIL)) - (T (SETQ |z| (CDR |z|))))) - (RPLACD |z| |y|) (EXIT |x|))))))) + (COND + ((NULL |x|) + (COND + ((NULL |y|) |x|) + (T (SEQ (PUSH (|SPADfirst| |y|) |x|) (RPLACD |x| (CDR |y|)) + (EXIT |x|))))) + (T (LET ((|z| |x|)) + (SEQ (LOOP + (COND + ((NOT (NOT (NULL (CDR |z|)))) (RETURN NIL)) + (T (SETQ |z| (CDR |z|))))) + (RPLACD |z| |y|) (EXIT |x|)))))) (DEFUN |ILIST;removeDuplicates!;2$;26| (|l| $) (PROG (|pp| |f| |pr|) |