
Hello, I try to parse a config file and extract a (Path Abs Dir) from these files So I have a parser as defined in config-ini So I need a function with this signature pathAbsDir :: Text -> Either String (Path Abs Dir) pathAbsDir t = do d <- try $ parseAbsDir (unpack . uncomment $ t) case d of Right v -> Right v Left e -> Left (show e) since I am using parseAbsDir wi this signature parseAbsDir :: MonadThrow m => FilePath -> m (Path Abs Dir) I would like to know how to write the patAbsDir method for now I have this error message src/Hkl/Binoculars/Config.hs:82:8-49: error: • Couldn't match type ‘[Char]’ with ‘GHC.Exception.SomeException’ arising from a use of ‘try’ • In a stmt of a 'do' block: d <- try $ parseAbsDir (unpack . uncomment $ t) In the expression: do d <- try $ parseAbsDir (unpack . uncomment $ t) case d of Right v -> Right v Left e -> Left (show e) In an equation for ‘pathAbsDir’: pathAbsDir t = do d <- try $ parseAbsDir (unpack . uncomment $ t) case d of Right v -> Right v Left e -> Left (show e) | 82 | d <- try $ parseAbsDir (unpack . uncomment $ t) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I understand that the MonadThrow instance of Either is for Either Exception a But I want (Either String a). Cheers Frederic