почему тип текста.Парсек.Знак.естественно не то же самое между Hoogle и что показал с:т?
Я искал Text.Parsec.Token.natural на Hoogle и нашел тип Text.Parsec.Token.natural is natural :: ParsecT s u m Integer.
:t в GHCi.
GHCi дает такой тип:
Prelude Text.Parsec.Token> :t natural
natural
:: GenTokenParser s u m -> Text.Parsec.Prim.ParsecT s u m Integer
И не только натуральные, но и целочисленные, плавающие, десятичные и т. д.
1 ответ:
naturalявляется именованным полем типа данныхGenTokenParser s u m. Это поле имеет типParsecT s u m Integer; прокрутите вниз, чтобы найти его.Функция
naturalполучает доступ к этому полю из любого значенияGenTokenParser s u m, отсюда и тип.