Power set: Difference between revisions
m
→{{header|AppleScript}}: Updated primitives
(Added Kotlin) |
m (→{{header|AppleScript}}: Updated primitives) |
||
Line 168:
(functional composition examples)
{{Trans|Haskell}}
<lang AppleScript>--
-- powerset :: [a] -> [[a]]
on powerset(xs)
script subSet
on
script
on
{x} & y
end
end script
acc & map(
end
end script
Line 185 ⟶ 187:
end powerset
--------------------------------------------------------------------------------------▼
on run
script test
on
set {setName, setMembers} to x
{setName, powerset(setMembers)}
end
end script
Line 204 ⟶ 205:
--> {"Empty set", {{}}},
--> {"Set containing only empty set", {{}, {{}}}}}
end run
▲-- GENERIC FUNCTIONS ---------------------------------------------------------------
-- foldr :: (a -> b -> a) -> a -> [b] -> a
Line 216 ⟶ 215:
set lng to length of xs
repeat with i from lng to 1 by -1
set v to
end repeat
return v
Line 228 ⟶ 227:
set lst to {}
repeat with i from 1 to lng
set end of lst to
end repeat
return lst
Line 241 ⟶ 240:
else
script
property
end script
end if
end mReturn</lang>
{{Out}}
<lang AppleScript>{{"Set [1,2,3]", {{}, {3}, {2}, {2, 3}, {1}, {1, 3}, {1, 2}, {1, 2, 3}}},
|