当 GHCi 在运行时发现调用生成的值与函数的模式匹配不匹配时,是否有办法让 GHCi 生成更好的异常消息?
它目前给出了产生非详尽模式匹配的函数的行号,虽然有时很有帮助,但确实需要一轮调试,有时我觉得一遍又一遍地做同一组事情。因此,在尝试制定解决方案之前,我想看看是否存在其他问题。
异常消息除了给出行号之外还显示它尝试进行哪种类型的调用?
这可能吗?
尝试在 ghci 中打开警告。这使得您可以通过传递 ghc 获得编译时警告-W
, 例如。您可以通过多种方式执行此操作:
ghci -fwarn-incomplete-patterns
Or 尼尔·米切尔 (Neil Mitchell) 描述了他如何在他的.ghci。以下是相关摘录:
:set -fwarn-incomplete-patterns
您也可以在 ghci 中手动输入此内容,但每次启动时都这样做会很痛苦。这样输入,它只适用于在提示符下输入的语句,不适用于加载文件:l
。相反,您可以将此注释放在要警告不完整模式的文件顶部:
{-# OPTIONS_GHC -fwarn-incomplete-patterns #-}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)