Faça a declaração sob uma cláusula where
Estou tentando converterIO [String]
para[String]
com<-
obrigatório; no entanto, preciso usar umdo
bloco para fazer isso sob umwhere
declaração, mas Haskell reclama do recuo o tempo todo. Aqui está o código:
decompEventBlocks :: IO [String] -> IO [[String]]
decompEventBlocks words
| words' /= [] = block : (decompEventBlocks . drop $ (length block) words')
| otherwise = []
where
do
words' <- words
let block = (takeWhile (/="END") words')
Qual a razão disso? E como podemos usardo
bloquear em umwhere
declaração ? Além disso, há alguma chance de termos algumas declarações diante dos guardas?