Haskell / GHC - 是否有任何中缀标签/编译指示用于“警告不完整模式”?
我正在寻找一个可以对特定的不完整模式发出警告的编译指示。它会使编译器失败,并显示以下(假设的)代码:
{-# FAILIF incomplete-patterns #-}
f :: Int -> Int
f 0 = 0
我正在尝试使用箭头编写“编译器”,并且知道模式匹配已完成将有助于隔离错误。谢谢!
I'm looking for a pragma that will warn on a particular incomplete pattern. It would make the compiler fail with the following (hypothetical) code:
{-# FAILIF incomplete-patterns #-}
f :: Int -> Int
f 0 = 0
I am trying to write a "compiler" using Arrows, and knowing pattern matching is complete would help isolate bugs. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
-Wall
要求警告,包括不完整的模式:产量:
或者更具体地说,使用
-fwarn-incomplete-patterns
代替-Wall
>。没有什么可以在每个表达式的基础上工作:您目前仅限于每个模块的基础。
You can require warnings, including incomplete patterns, with
-Wall
:Yielding:
Or more specifically, with
-fwarn-incomplete-patterns
inplace of-Wall
.There's nothing that will work on a per-expression basis: you're currently restricted to a per-module basis.