Reconsidering -Wall and -Wcompat

Ben Gamari ben at
Sun Feb 14 16:12:50 UTC 2016

tl;dr. GHC has a new set of warnings, -Wcompat, intended to give users
       advance notice of coming library changes. We want to know whether
       you think this set should be included in -Wall. See the Wiki [4]
       and voice your opinion via the linked poll.

Hello everyone,

GHC 8.0.1 will include a new warning group, -Wcompat, which arose out of
the MonadFail proposal discussion [1] late last year. This warning set
is intended to provide a means of informing users of coming changes in
GHC's core libraries.

We would like to solicit the community's feedback on whether this new
flag set should be implied by -Wall.

This proposal is motivated by concern expressed by some that -Wcompat
would see little usage unless it is placed in one of the warning sets
typically used during development. One such set is -Wall, which enables
a generous fraction of GHC's warning collectionand is is intended [2]
for use during development.

Unfortunately, despite the (albeit only recently stated) intent of
flag, -Wall is widely used outside of development [3], often with the
expectation that the result be warning-clean across multiple GHC
versions. While we hope that -Wall will see less use in this context in
the future, given its current role we wouldn't want to add options to it
that would cause undue burden for users.

So, we are asking for your opinion: should -Wcompat be implied by -Wall?
You can find a more thorough description of the precise proposal on the
GHC Wiki [4]. It would be very much appreciated if you could take a few
minutes familiarize yourself with the options and provide your thoughts
via this quick poll,

Feel free to discuss the issue further in this thread.

Thank you for sharing,

- Ben



[3] In a rather unscientific study, nearly half of packages on Hackage
    include it in ghc-options,

        $ tar -xf ~/.cabal/packages/00-INDEX.tar
        $ (for pkg in $(ls); do ls $pkg/*/*.cabal | sort -r | head -n1; done) | xargs grep -L '\-Wall' | wc -l
        $ ls | wc -l 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 472 bytes
Desc: not available
URL: <>

More information about the Glasgow-haskell-users mailing list