RosettaCodeData/Task/Power-set/Scheme/power-set-1.ss

14 lines
311 B
Scheme

(define (power-set set)
(if (null? set)
'(())
(let ((rest (power-set (cdr set))))
(append (map (lambda (element) (cons (car set) element))
rest)
rest))))
(display (power-set (list 1 2 3)))
(newline)
(display (power-set (list "A" "C" "E")))
(newline)