muitos 1 não funciona mais com o parsec 3.x
Pergunta
Depois de atualizar para o parsec 3.1 a partir de 2.x, o código usando muitos 1, como word = many1 letter
falha com
No instance for (Stream s m Char) arising from a use of `letter'
Encontrei um post da lista de discussão alegando que adicionar {-#LANGUAGE NoMonomorphismRestriction #-}
Para o topo do arquivo de origem, resolveria o problema, mas não.
Solução
Não se esqueça de adicionar um espaço antes LANGUAGE
.
Em vez de desligar a restrição do monomorfismo, você também pode escrever uma anotação do tipo explícito.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow