问题
When I prototype Haskell programs, I always get hundreds of warnings like this (not joking):
/Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:70:15: Warning: Defined but not used: `ta' /Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:72:15: Warning: Defined but not used: `ta' /Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:77:26: Warning: Defined but not used: `v'
Is there anyway to remove these warnings temporarily? I tried putting this in my .hs file:
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-name-shadowing
-fwarn-monomorphism-restriction -fwarn-hi-shadowing
#-}
Unfortunately, it does not work, and although I also tried to :set -fno-warn-unused-binds, it still does not work.
Many thanks!
回答1:
Another possibility, depending on your situation: I believe you can prefix identifiers with an underscore to suppress this warning. So:
_x = 42
will not generate the warning if _x
is not used.
回答2:
GHC has two warnings flags which can trigger Warning: Defined but not used
.
You need some combination of the command line flags -fno-warn-unused-binds
and -fno-warn-unused-matches
.
回答3:
I usually use -w to suppress all warnings when I want get rid of some warning temporarily.
回答4:
I use a workaround for this:
I compile without warnings, but then I use HLint
tool to display warnings for me. HLint has facilities to turn warnings separately.
来源:https://stackoverflow.com/questions/8221201/how-to-temporarily-suppress-defined-but-not-used-warnings