Je lis" Introduction à la programmation fonctionnelle Première édition ". Je suis venu d'une règle de traduire la compréhension que,Comment est-ce que [e | x <- xs; y <- ys; ...] = concat [[e | y <- ys; ...] | x <- xs] `
[e | x <- xs; y <- ys; ...] = concat[[e | y <- ys; ...] | x <- xs]
Je ne comprends pas concat ici. concat
prend plusieurs listes mais ici j'en vois seulement une.
Je lis [[e | y <- ys; ...] | x <- xs]
comme
for(x in xs){
for(y in ys){
someList.push(e)
}
}
Peut-être que je lis mal ou |
Peut contenir une signification particulière ici.
Aidez-nous s'il vous plaît.
'concat :: [[a]] -> [a]'. 'concat [[e | y <- ys; ...] | x <- xs] '--- vous obtenez ici une liste de listes, qui est ensuite dépliée vers une liste plate. – zerkms