Hi everybody,
I'm having a bit of a problem with Parsec. The most relevant error message is:
Couldn't match expected type `Text.Parsec.Prim.ParsecT
String () Control.Monad.Identity.Identity String'
against inferred type `parsec-2.1.0.1:Text.ParserCombinators.Parsec.Prim.Parser
[Char]'
In the expression: countMinMax ...
So apparently, the module/package that defines countMinMax and the current module are using different versions of Parsec. My global GHC database has Parsec 3.1.1 installed, but each package has the constraint
parsec >=2.1 && <2.2
Both modules use the exact same import line:
import Text.ParserCombinators.Parsec -- Lime.Data.IPAddress
import Text.ParserCombinators.Parsec -- Lime.Utility.Parsec
countMinMax :: (Integral n) => n -> n -> Parser a -> Parser [a]
and
the expression GHC is complaining about above has type Parser String.
The cabal-dev package database contains only one version of Parsec:
parsec-2.1.0.1-190ec41e7316b7eb7fddf355acddd826.conf
What's going on here?