Eu tenho lido Haskell do mundo real e estou chegando ao fim, mas uma questão de estilo me incomoda com os operadores (.)e ($). Quando você escreve uma função que é uma composição de outras funções, você a escreve como: f = g . h Mas quando você aplica algo …
Estou tentando entender o que o operador ponto está fazendo neste código Haskell: sumEuler = sum . (map euler) . mkList Todo o código-fonte está abaixo. Meu entendimento O operador ponto toma as duas funções sume o resultado de map eulere o resultado de mkListcomo a entrada. Mas, sumuma função …
Este é o código que encontrei em algum lugar, mas quero saber como isso funciona: findIndices :: (a -> Bool) -> [a] -> [Int] findIndices _ [] = [] findIndices pred xs = map fst (filter (pred . snd) (zip [0..] xs)) Saída: findIndices (== 0) [1,2,0,3,0]==[2,4] , onde predestá …