
Following Mikhail Glushenkov's advice I have prepared a separate tool that checks PVP compliance of imports as proposed in: https://github.com/haskell/cabal/issues/1703 There remain some problems: * How can I exclude automatically generated modules like Path_*.hs from the check? * How can I access modules that are preprocessed? HSC processed modules are stored in dist/build, but CPP processed modules are not stored anywhere. * How shall I cope with condition flags? Currently I use flattenPackageDescription. Alternatively I might only check the modules that are part of the current configuration. But I may miss many modules this way. I might perform checks on all possible configurations. * Can you give me advice on what I shall write to stdout and what to stderr? The purpose of the program is to generate a list of warnings. Shall they be written to stderr because they are warnings or shall they be written to stdout because they are the intended output of the program? * Regarding levels of verbosity: How silent shall silent be? Shall the test results be emitted in silent mode or only in normal verbosity mode?