首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haskell中未被识别的HLINT语用

Haskell中未被识别的HLINT语用
EN

Stack Overflow用户
提问于 2021-01-15 19:18:04
回答 1查看 260关注 0票数 3

我试图禁用HLint给我的一些警告。根据医生,我应该能够在我的文件顶部添加一个实用程序。因此,我尝试了以下几点:

代码语言:javascript
复制
{-# HLINT ignore #-}
module Main where

但是,在运行stack build时会出现错误。

代码语言:javascript
复制
/Users/nene/somedir/src/Main.hs:1:1: warning: [-Wunrecognised-pragmas]
    Unrecognised pragma
  |
1 | {-# HLINT ignore #-}
  | ^^^

在我的编辑器(带有"Haskell“扩展的VSCode)中,这个语用看起来确实有效,但在运行stack时却不被识别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-15 19:35:14

如果您想在没有任何警告的情况下使用一个语用,您可以这样使用ANN实用化:

代码语言:javascript
复制
{-# ANN module "HLint: ignore" #-}

然而,我建议使用一个常规的评论,而不是一个实用主义:

代码语言:javascript
复制
{- HLINT ignore -}

我更喜欢定期的评论,因为他们没有像语用学那样奇怪的规则。事实上,文献资料注意到:

对于ANN语用,重要的是将它们放在任何导入语句之后。如果启用了OverloadedStrings扩展,则需要为注释提供显式类型,例如{-# ANN myFunction ("HLint: ignore" :: String) #-}ANN实用程序还可以增加编译时间或导致比其他情况下需要的更多的重新编译,因为它们是由TemplateHaskell计算的。 对于{-# HLINT #-}语用来说,GHC可能会给出一个关于未被识别的语用的警告,它可能会被-Wno-unrecognised-pragmas所抑制。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65742311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档