[Haskell-cafe] Text.CSV questions
Vincent Hanquez
tab at snarc.org
Fri Jun 17 11:04:11 CEST 2011
On 06/17/2011 10:00 AM, Dmitri O.Kondratiev wrote:
> Hi,
> I try to parse csv file with Text.CSV, like this:
>
> import Text.CSV
> import System
>
> main = do
> [inpFileName] <- getArgs
> putStrLn ("Parsing "++inpFileName++"...")
> let result = parseCSVFromFile inpFileName
> print result
>
>
> === As a result I get:
>
> No instance for (Show
> (IO (Either Text.Parsec.Error.ParseError CSV)))
> arising from a use of `print'
> Possible fix:
> add an instance declaration for
> (Show (IO (Either Text.Parsec.Error.ParseError CSV)))
>
> === Question:
> How to add a Show instance for "(IO (Either Text.Parsec.Error.ParseError CSV)))" ?
Hi Dmitri,
you don't add a show instance for IO, but you "unwrap" the IO Monad first and
then show the result.
let result = parseCSVFromFile inpFileName
should be:
result <- parseCSVFromFile inpFileName
--
Vincent
More information about the Haskell-Cafe
mailing list