run :: Show a => Parser a -> String -> IO ()
run p input 
    = case (parse p "" input) of
        Left err -> do  { putStr "parse error at "
                ; print err
                }
        Right x -> print x
run :: Show a => Parser a -> String -> IO ()
run p input 
    = case (parse p "" input) of
        Left err -> do  { putStr "parse error at "
                ; print err
                }
        Right x -> print x
run p input 
    = case (parse p "" input) of
        Left err -> do  { putStr "parse error at "
                ; print err
                }
        Right x -> print x