Parsing 在Haskell中解析元组(字符串,Int)

Parsing 在Haskell中解析元组(字符串,Int),parsing,haskell,tuples,monads,parsec,Parsing,Haskell,Tuples,Monads,Parsec,我需要解析(字符串,Int)类型,因为userRatings是为了正确读取textFile,我正在使用Parsec。这是解析和导入,我的stringInttuple函数有此错误 “Parsec(String,Int)”需要另外两个参数 应为类型,但“Parsec(String,Int)”的种类为“*->*->*” 在“stringIntTuple”的类型签名中: stringIntTuple::Parsec(字符串,Int) import-Control.Monad import Control

我需要解析
(字符串,Int)
类型,因为
userRatings
是为了正确读取
textFile
,我正在使用
Parsec
。这是解析和导入,我的
stringInt
tuple函数有此错误

“Parsec(String,Int)”需要另外两个参数 应为类型,但“Parsec(String,Int)”的种类为“*->*->*” 在“stringIntTuple”的类型签名中: stringIntTuple::Parsec(字符串,Int)

import-Control.Monad

import Control.Applicative((错误消息基本上是说您没有提供足够的类型参数。如果您将元组解析器的签名与其他元组解析器的签名进行比较,您将看到原因:

stringLit :: Parsec String u String
listOfStrings :: Parsec String u [String]
stringIntTuple :: Parsec (String , Int)
在所有其他情况下,提供三个类型参数,但对于
stringIntTuple
只提供一个


因此,只需添加
String
u
作为前两个参数,就像您为其他参数所做的那样,它就会起作用。

谢谢!非常明显:请不要多次发布同一个问题。堆栈溢出具有吸引人们注意现有问题的机制。
stringLit :: Parsec String u String
listOfStrings :: Parsec String u [String]
stringIntTuple :: Parsec (String , Int)