Haskell many1不再使用Parsec 3.x

Haskell many1不再使用Parsec 3.x,haskell,parsec,Haskell,Parsec,从2.x更新到Parsec 3.1后,使用many1编码,例如word=many1字母会失败 No instance for (Stream s m Char) arising from a use of `letter' 我发现一个邮件列表帖子声称在源文件顶部添加{-#LANGUAGE NoMonomorphismRestriction#-}可以解决问题,但事实并非如此。别忘了在LANGUAGE之前添加空格 您也可以编写一个显式类型注释,而不是关闭单态限制。我会声明与那篇文章相同的内容。也许

从2.x更新到Parsec 3.1后,使用many1编码,例如
word=many1字母
会失败

No instance for (Stream s m Char) arising from a use of `letter'

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

别忘了在
LANGUAGE
之前添加空格


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

我会声明与那篇文章相同的内容。也许你在语言之前遗漏了一个强制性空格?@Zak,
many1
doc关于hackage的信息很少。你能告诉我,这个函数是做什么的吗?@MadhavanKumar-文档中说“许多p应用解析器p一次或多次。返回p的返回值列表。”我不确定有什么不清楚,或者文档之前说了什么?