An exceptionfree readFile or filtering for -xc
Motivation
In order to reduce the amount of lines in the logs that are false positives, I'd like to have a version of base
's readFile
that does not log exceptions. The current readFile
uses ioe_eof
(IIRC) to exit, and this means that if you run with +RTS -xc -RTS
, an error is output to the logs.
To get past this I created a library called exceptionfree-readfile
(suggestions/issues/PRs welcome, perf is 1x-10x worse than the code in base
), but it was mentioned that I should submit this to the issue tracker to see if there's another way people work around it/a better way.
Alternatively a way to filter the modules that are captured by -xc
would be much easier way to solve this problem -- as my goal was reducing the amount of false positives that showed up in the logs (a few libraries use exceptions in this way).
Related links/background:
Proposal (2 alternatives)
base
with a readFileEither
Updating A function called readFileEither :: FilePath -> IO (Either IOError String)
is created and added to base
--xc-ignored-modules
to GHC
Adding an option like An option like --xc-ignored-modules
is added that contains a list of modules that are checked when -xc
-related logging is done, to ignore certain modules.