[Haskell-cafe] Simple Parsec example

Albert Y. C. Lai trebla at vex.net
Mon Aug 8 02:00:23 CEST 2011


On 11-08-07 02:44 PM, michael rice wrote:
> What other imports must I add to get this to run. I can't seem to get it
> right.
[...]
> import Text.ParserCombinators.Parsec.Prim
>
> main = case (parse numbers "" "11, 2, 43") of
> Left err -> print err
> Right xs -> print (sum xs)
>
> numbers = commaSep integer

The problem is deeper than imports.

import Text.Parsec.Prim(parse)
import Text.Parsec.Token(makeTokenParser,
   GenTokenParser(TokenParser, commaSep, integer))
import Text.Parsec.Language(emptyDef)

main = case (parse numbers "" "11, 2, 43") of
          Left err  -> print err
          Right xs  -> print (sum xs)

numbers = c i where
   TokenParser{commaSep=c, integer=i} = makeTokenParser emptyDef



More information about the Haskell-Cafe mailing list