Я создал две функции, которые в основном анализируют и вводят, и мне нужно найти их сигнатуры типов, так что 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)
Если я пишу в терминале: : т cToken : т 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
Подсказка для будущего: обычно лучше спроектировать подпись, а затем реализовать. – leftaroundabout
BTW: вы должны поместить их так: 'cToken :: Stream sm Char => Char -> ParsecT sum [Char]', если вы сделали импорт – Carsten