RosettaCodeData/Task/Power-set/Icon/power-set-3.icon
Ingy döt Net b83f433714 tasks a-s
2013-04-10 23:57:08 -07:00

19 lines
381 B
Text

procedure power_set (s)
if *s = 0
then suspend set ()
else {
head := set(?s)
every ps := power_set (s -- head) do {
suspend ps
suspend ps ++ head
}
}
end
procedure main ()
every s := power_set (set(1,2,3,4)) do { # power_set's values are generated by 'every'
writes ("[ ")
every writes (!s || " ")
write ("]")
}
end