
Sven Panne
2016-02-16 0:35 GMT+01:00 Matthew Pickering
: I have renamed it to -Wmissing-pat-syn-signatures.
Hmmm, things are still wildly inconsistent:
* "pat" is spelled "pattern" in other flags.
* We still have both "sigs" and "signatures" as parts of the names.
* Why is "synonyms" too long, but OTOH we have monsters like "-Wnoncanonical-monadfail-instances"?
* We have both "binds" and "bindings" as parts of the names.
My proposal would be: The -Wfoo option syntax is new, anyway, so let's fix all those inconsistencies in one big sweep before 8.0.1 is out, it only gets harder later. At the moment you need #ifdef magic in the code and "If impl(foo)" in .cabal, anyway, but doing these changes later will only keep this sorry state for longer than necessary. I don't really care if we use abbreviations like "sigs" or not, but whatever we use, we should use it consistently (personally I would prefer the whole words, not the abbreviations).
Fair enough; since we are are breaking away from -fwarn- we could consider taking this opportunity to fix these inconsistencies. However, I do want to make sure that we don't make the transition any more painful for users than necessary. For instance, the user should be able to get useful feedback from the compiler on what warning flags have changed with s/-fwarn-/-W/ To this end I recommend the following, * Someone propose a consistent vocabulary for warning flag names * We keep -fwarn- flags as they are currently * We keep the inconsistently named -W flags corresponding to these -fwarn- flags * We add consistently named -W flags alongside these * We set a timeline for deprecating the inconsistent flags Sven, perhaps you would like to pick up this task? Cheers, - Ben