Ответ 1
Другая возможность, в зависимости от вашей ситуации: я считаю, что вы можете префикс идентификаторов с подчеркиванием для подавления этого предупреждения. Итак:
_x = 42
не будет генерировать предупреждение, если _x
не используется.
Когда я создаю прототипы программ Haskell, я всегда получаю сотни таких предупреждений (не шучу):
/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'
Есть ли способ временно удалить эти предупреждения? Я попытался поместить это в мой .hs файл:
{-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-name-shadowing
-fwarn-monomorphism-restriction -fwarn-hi-shadowing
#-}
К сожалению, он не работает, и хотя я также пытался: установить -fno-warn-unused-binds, он все равно не работает.
Большое спасибо!
Другая возможность, в зависимости от вашей ситуации: я считаю, что вы можете префикс идентификаторов с подчеркиванием для подавления этого предупреждения. Итак:
_x = 42
не будет генерировать предупреждение, если _x
не используется.
GHC имеет два предупреждения, которые могут вызывать Warning: Defined but not used
.
Вам нужна комбинация флагов командной строки -fno-warn-unused-binds
и -fno-warn-unused-matches
.
Обычно я использую -w для подавления всех предупреждений, когда я хочу временно избавиться от некоторого предупреждения.
Я использую обходное решение для этого:
Я компилирую без предупреждений, но затем я использую инструмент HLint
для отображения предупреждений для меня. HLint имеет возможности развернуть предупреждения отдельно.