
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?