2votos

Combinar listas en Haskell

por josejuan hace 1 año

.

Crear una lista de combinaciones de un número de listas indefinidas

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cross :: [[[a]]] ->[[[a]]] 
cross (xs:ys:zss) = cross (concatMap (\x ->map (x ++) ys) xs: zss) 
cross zss = zss 
 
{- 
 
> mapM_ putStrLn $ head $ cross [["a","b"],["c","d"],["e","f"]] 
ace 
acf 
ade 
adf 
bce 
bcf 
bde 
bdf 
 
-} 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.