many1不再适用于Parsec 3.x.

Zak*_*Zak 3 haskell parsec

从2.x更新到Parsec 3.1后,代码使用many1,例如word = many1 letter失败

No instance for (Stream s m Char) arising from a use of `letter'
Run Code Online (Sandbox Code Playgroud)

我找到了一个邮件列表帖子,声称添加{-#LANGUAGE NoMonomorphismRestriction #-}到源文件的顶部可以解决问题,但事实并非如此.

Mar*_*ijn 9

不要忘记以前添加空格LANGUAGE.

您也可以编写显式类型注释,而不是关闭单态限制.