gpt4 book ai didi

haskell - 阻止 GHC 警告我一个特定的缺失模式

转载 作者:行者123 更新时间:2023-12-05 00:33:02 28 4
gpt4 key购买 nike

假设我通常希望收到关于代码中不完整模式的警告,但有时我知道某个函数的模式不完整,我知道这很好。

still true GHC 的警告粒度是每个模块的,并且没有办法更改有关特定功能或定义的警告?

最佳答案

是的,仍然正确,但您可以使用 error 来解决此问题。 .

f (Just a) = show a

没有 Nothing 的案例给出警告但添加
f Nothing = error "f: Nothing supplied as an argument. This shouldn't have happened. Oops."

摆脱警告。

您的问题的按功能解决方案是给 Haskell 一些您认为永远不会运行的代码,以保持安静。

请注意:我认为您的代码应该是健壮的并且涵盖所有可能发生的情况,除非您能证明它永远不会发生。
我认为,解决这个限制并不是很好的做法。

(你可能认为这是一个敞开的后门,可以破解有用的编译时检查,应该通过 -Wall 停止,但我可以混淆我的回合你选择的任何简单限制,我认为这是一个完整的解决方案这个问题基本上可以解决停机问题,所以我们不要责怪编译器。)

关于haskell - 阻止 GHC 警告我一个特定的缺失模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12717909/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com