[Haskell-cafe] Combination-lock problem

Florian Boehl flo at namespacepollution.net
Tue Aug 10 00:01:23 EDT 2004


I'ld like to generate a list (of lists) that contains all combinations
of natural numbers stored in another list. It should work like a
combination-lock. E.g.:

[2,2] -> [[0,0],[0,1],[0,2],[1,0],[1,1],[1,2],[2,0],[2,1],[2,2]]

If I know the length 'l' of the 'locklist', I can solve the
problem via generators. E.g.:

l = 2: [[a,b] | a <- [0..locklist!!0], b <- [0..locklist!!1]]

But if the length is unknown (because it's dynamic) this solutions (of
course) fails. Is it possible to solve this problem in haskell in an
elegant way?



More information about the Haskell-Cafe mailing list