Thanks a lot, I've had a hunch it was possible to get rid of those those liftM's. I turned it into:

(writeFile "output.csv") . printCSV . (map updateLine) . (either (error "Chyba pri cteni CSV.") id) =<< parseCSVFromFile "input.csv"

and am sincerely hoping he will try to decypher it's meaning ;-)))

On Tue, Sep 30, 2008 at 9:01 PM, Simon Brenner <olsner@gmail.com> wrote:
Something like this perhaps:

writeFile "output.csv" . printCSV . map updateLine . fromRight =<<
parseCSVFromFile "input.csv"

(with fromRight = either (error "fromRight :: Left") id or something equivalent)