multivariadic append
authorDavid Vazquez <davazp@gmail.com>
Sat, 22 Dec 2012 19:54:38 +0000 (19:54 +0000)
committerDavid Vazquez <davazp@gmail.com>
Sat, 22 Dec 2012 19:54:38 +0000 (19:54 +0000)
test.lisp

index 2333621..173b814 100644 (file)
--- a/test.lisp
+++ b/test.lisp
       x
       (list x)))
 
-(defun append (list1 list2)
+(defun append-two (list1 list2)
   (if (null list1)
       list2
       (cons (car list1)
             (append (cdr list1) list2))))
 
+(defun append (&rest lists)
+  (!reduce #'append-two lists '()))
+
 (defun reverse-aux (list acc)
   (if (null list)
       acc