12 lines
251 B
Haskell
12 lines
251 B
Haskell
comb :: Int -> [a] -> [[a]]
|
|
comb m xs = combsBySize xs !! m
|
|
where
|
|
combsBySize = foldr f ([[]] : repeat [])
|
|
f x next =
|
|
zipWith
|
|
(<>)
|
|
(fmap (x :) <$> ([] : next))
|
|
next
|
|
|
|
main :: IO ()
|
|
main = print $ comb 3 [0 .. 4]
|