<div dir="ltr">I would love this. Especially if we then added "partial" warnings to the many Prelude/base functions that fit this description.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 7, 2016 at 11:09 AM, Richard Eisenberg <span dir="ltr"><<a href="mailto:rae@cs.brynmawr.edu" target="_blank">rae@cs.brynmawr.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Seems reasonable and useful to me. Is this a good use of the process here? <a href="https://github.com/ghc-proposals/ghc-proposals" target="_blank">https://github.com/ghc-<wbr>proposals/ghc-proposals</a></div><br><div><blockquote type="cite"><div><div class="h5"><div>On Sep 7, 2016, at 10:39 AM, David Feuer <<a href="mailto:david.feuer@gmail.com" target="_blank">david.feuer@gmail.com</a>> wrote:</div><br></div></div><div><div><div class="h5"><p dir="ltr">Currently, the only way to suppress custom warnings and deprecations is with -fno-warn-warnings-<wbr>deprecations, which is a rather large hammer. I see two ways we can improve this, and I propose that we should do both.</p><p dir="ltr">1. Per-binding suppression</p><p dir="ltr">Add -fno-warn-binding, -fno-deprecate-binding, -fwarn-binding options, and -fdeprecate-binding options. These would take the (optionally qualified) name of a binding and control warnings tied to it. So if you invoked -fno-warn-binding "sillyFunction", then GHC would not warn you about the silliness of anything named sillyFunction. -fno-warn-binding "Data.Silly.sillyFunction" would limit the suppression to the silly function in Data.Silly. -fno-deprecate-binding would refrain from emitting deprecation warnings for the binding in question. -fno-deprecate-binding would presumably imply no-warn-binding, since someone who doesn't care that a function is going to be removed probably also doesn't care what else is wrong with it.</p><p dir="ltr">2. Named warning classes</p><p dir="ltr">I'd like to add an optional "warning class" to the WARNING pragma, preceding the warning description. This would be a short string indicating what sort of warning is involved. This would be totally free-form, but the documentation would suggest a few conventional options such as "partial" and "slow". Then whole warning classes could be controlled with -fno-warn-class and -first-class.</p></div></div>
______________________________<wbr>_________________<br>ghc-devs mailing list<br><a href="mailto:ghc-devs@haskell.org" target="_blank">ghc-devs@haskell.org</a><br><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/ghc-devs</a><br></div></blockquote></div><br></div><br>______________________________<wbr>_________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/ghc-devs</a><br>
<br></blockquote></div><br></div>