
6 Jun
2006
6 Jun
'06
8:15 a.m.
On Tue, 6 Jun 2006 developer@imaginando.net wrote:
Hi,
I need a functions which takes as argument a list of lists like this one:
[[1,2],[3],[4]]
and gives me a list of list with all the possible combinations like this one:
[[1,3,4],[2,3,4]]
In this case there are only 2 combinations but if there was more than one element in the other lists the results were much more.
Using the List instance of monads you can simplify things. foldr (Monad.liftM2 (:)) [[]] [[1,2],[3],[4]]
I'm a little stuck in this simple problem.
First i was thinking in cartesian product but then i realized that i may not be what i really need.
cartesian product can be computed by liftM2 (,)