我创建了两个基本解析和输入的函数,我需要找到它们的类型签名,以便终端中的ghc-Wall不会给我一个警告。这是代码:在Haskell中查找函数的类型签名
import Text.Parsec.Prim
import Text.Parsec.Char
import Text.Parsec.Error
import Text.Parsec.String
import Text.Parsec.Combinator
cToken c = try (many space >> char c >> many space)
sToken s = try (many space >> string s >> many space)
如果我在终端写: :T cToken :T sToken
它给回:
Prelude CurvySyntax> :t sToken
sToken
:: Text.Parsec.Prim.Stream s m Char =>
String -> Text.Parsec.Prim.ParsecT s u m [Char]
Prelude CurvySyntax> :t cToken
cToken
:: Text.Parsec.Prim.Stream s m Char =>
Char -> Text.Parsec.Prim.ParsecT s u m [Char]
如果我把这些类型在我的代码那么它不能编译。 它们的类型是什么?
谢谢。
如果将这些代码放入代码中,会出现什么错误? – Carsten 2014-09-21 13:15:41
提示未来:先设计签名,然后再实现,通常效率更高。 – leftaroundabout 2014-09-21 13:17:30
顺便说一句,你应该把这些放在这样的:'cToken :: Stream sm Char => Char - > ParsecT sum [Char]'如果你做了进口 – Carsten 2014-09-21 13:17:42