2013-04-10 23:57:08 -07:00
|
|
|
;;; Direct translation of 'functional' ruby method
|
|
|
|
|
(define (powerset s)
|
2013-06-05 21:47:54 +00:00
|
|
|
(for/fold ([outer-set (set(set))]) ([element s])
|
2013-04-10 23:57:08 -07:00
|
|
|
(set-union outer-set
|
2013-06-05 21:47:54 +00:00
|
|
|
(list->set (set-map outer-set
|
|
|
|
|
(λ(inner-set) (set-add inner-set element)))))))
|