Haskell Parsec中的类型错误

Haskell Parsec中的类型错误,haskell,parsec,Haskell,Parsec,我正在使用带有GHC7.4.1的Parsec3.1.2来尝试为有点毛茸茸的数据文件格式编写解析器。我认为这是一个非常简单的例子,但我得到了一个类型错误。我试着从现实世界的Haskell中学习应用函子的例子 import Text.ParserCombinators.Parsec hiding (many, optional, (<|>)) import Text.ParserCombinators.Parsec.Char import Text.Parsec.String impor

我正在使用带有GHC7.4.1的Parsec3.1.2来尝试为有点毛茸茸的数据文件格式编写解析器。我认为这是一个非常简单的例子,但我得到了一个类型错误。我试着从现实世界的Haskell中学习应用函子的例子

import Text.ParserCombinators.Parsec hiding (many, optional, (<|>))
import Text.ParserCombinators.Parsec.Char
import Text.Parsec.String
import Control.Applicative
p_int = many char ' ' *> many1 digit <* many char ' '
import Text.ParserCombinators.Parsec隐藏(许多,可选,())
导入Text.ParserCombinators.Parsec.Char
导入Text.Parsec.String
导入控制
p_int=many char'*>many1 digit'),即“many1 digit”

在“(的第一个参数中,您正在编写以下代码:

many char ' '
这将向
many
函数传递两个参数:
char
'
。您要做的是将
char'
的结果传递给
many
函数,如下所示:

many (char ' ')

哦,我应该抓住它。事实上,这确实解决了问题,并把它推到了其他地方。我会就此提出一个单独的问题。
many (char ' ')