
On Tue, May 1, 2012 at 9:38 PM,
Hello.
I want a parser to parse arithmetic expressions using Parsec-3.1.2. Therefore I wrote the attached Haskell module.
But its compilation with ghc-7.4.1 fails with the message:
Type inference has trouble with parsec sometimes. I gave 'pExpr' a type signature and it started compiling fine. I picked 'pExpr' to give the signature to because it was closest to the top of the file - you can probably pick which one you want to give a signature to. In my case I went with:
import Text.Parsec.String
. . .
pExpr :: Parser Expr
but you might want a different signature. Antoine
Expr1.hs:22:22: No instance for (Stream s0 m0 Char) arising from a use of `pLexeme' Possible fix: add an instance declaration for (Stream s0 m0 Char) In the second argument of `(<$>)', namely `pLexeme (many1 (satisfy isDigit))' In the expression: read <$> pLexeme (many1 (satisfy isDigit)) In an equation for `pNum': pNum = read <$> pLexeme (many1 (satisfy isDigit))
Any clues on how to fix this?
Romildo
_______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners