RosettaCodeData/Task/Power-set/Common-Lisp/power-set-3.lisp

7 lines
161 B
Common Lisp

(defun powerset (l)
(if (null l)
(list nil)
(let ((prev (powerset (cdr l))))
(append (mapcar #'(lambda (elt) (cons (car l) elt)) prev)
prev))))