<div dir="auto"><div>The main problem I see with this is now N tools need to implement support for that flag and it will need to be configured for every tool separately. If we standardize on a tool pragma in the compiler, all that stays automatic as it is now (a huge plus for tooling, which should as beginner friendly as possible). It also, in my eyes, helps enforce a cleaner distinction between pragmas as a feature-gate and pragmas as a compiler/tooling directive</div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr">On Tue, Oct 16, 2018, 11:13 AM Vladislav Zavialov <<a href="mailto:vlad.z.4096@gmail.com">vlad.z.4096@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto"><div>What about introducing -fno-warn-pragma=XXX? People who use HLint will add -fno-warn-pragma=HLINT to their build configuration.<br><br><div class="gmail_quote"><div dir="ltr">On Tue, Oct 16, 2018, 20:51 Ben Gamari <<a href="mailto:ben@smart-cactus.org" target="_blank" rel="noreferrer">ben@smart-cactus.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi everyone,<br>
<br>
Recently Neil Mitchell opened a pull request [1] proposing a single-line<br>
change: Adding `{-# HLINT ... #-}` to the list of pragmas ignored by the<br>
lexer. I'm a bit skeptical of this idea. Afterall, adding cases to the<br>
lexer for every tool that wants a pragma seems quite unsustainable.<br>
<br>
On the other hand, a reasonable counter-argument could be made on the<br>
basis of the Haskell Report, which specifically says that<br>
implementations should ignore unrecognized pragmas. If GHC did this<br>
(instead of warning, as it now does) then this wouldn't be a problem.<br>
<br>
Of course, silently ignoring mis-typed pragmas sounds terrible from a<br>
usability perspective. For this reason I proposed that the following<br>
happen:<br>
<br>
 * The `{-# ... #-}` syntax be reserved in particular for compilers (it<br>
   largely already is; the Report defines it as "compiler pragma"<br>
   syntax). The next Report should also allow implementations to warn in<br>
   the case of unrecognized pragmas.<br>
<br>
 * We introduce a "tool pragma" convention (perhaps even standardized in<br>
   the next Report). For this we can follow the model of Liquid Haskell:<br>
   `{-@ $TOOL_NAME ... @-}`.<br>
<br>
Does this sound sensible?<br>
<br>
Cheers,<br>
<br>
- Ben<br>
<br>
<br>
[1] <a href="https://github.com/ghc/ghc/pull/204" rel="noreferrer noreferrer noreferrer" target="_blank">https://github.com/ghc/ghc/pull/204</a><br>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" rel="noreferrer noreferrer" target="_blank">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div></div></div>
_______________________________________________<br>
ghc-devs mailing list<br>
<a href="mailto:ghc-devs@haskell.org" target="_blank" rel="noreferrer">ghc-devs@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs</a><br>
</blockquote></div></div></div>