RosettaCodeData/Task/Flatten-a-list/Common-Lisp/flatten-a-list-4.lisp
2014-01-17 05:34:36 +00:00

5 lines
254 B
Common Lisp

(defun flatten (x &optional stack out)
(cond ((consp x) (flatten (rest x) (cons (first x) stack) out))
(x (flatten (first stack) (rest stack) (cons x out)))
(stack (flatten (first stack) (rest stack) out))
(t out)))