Comment mapper une fonction pour opérer sur des listes à l'intérieur d'une liste ? Ce qui suit est juste ce que j'essaie de faire comme exemple, mais je demandais juste comme une question générale. Merci d'avance !
Pour l'instant, j'essaie de faire correspondre une fonction, change, à chaque liste d'une liste (renvoyée par itrCol xs).
evalChange xs = map change $ itrCol xs
où itrCol renvoie une liste de listes, où chaque liste contenue est une colonne.
itrCol xs = [getCol x xs | x <- (take (width xs) (iterate (\x -> (x + 1)*1) 0))]
getCol liste les colonnes en fonction d'une liste d'indices de colonne.
getCol :: Int -> [t] -> [t]
et le changement est :
change [] = []
change [x] = [x]
change [x,y] = [x,y]
change (x:y:z:ws) | x == y && y == z = 0 : y*(-1) : 0 : change ws
change (x:xs) = x : change xs