从 2.x 更新到 Parsec 3.1 后,使用 many1 的代码,例如 word = many1 letter
失败
No instance for (Stream s m Char) arising from a use of `letter'
我发现一个邮件列表帖子声称将
{-#LANGUAGE NoMonomorphismRestriction #-}
添加到源文件的顶部可以解决问题,但事实并非如此。 最佳答案
不要忘记在 LANGUAGE
之前添加一个空格。
除了关闭单态限制,您还可以编写显式类型注释。
关于haskell - many1 不再适用于 Parsec 3.x,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2545924/