【发布时间】:2012-11-08 23:08:09
【问题描述】:
在使用 GHCi 时,我想知道在从提示符(重新)加载时如何使用 -Wall 选项。
例如Haskell Programming Tips的第3.3节 带守卫的例子如下:
-- Bad implementation:
fac :: Integer -> Integer
fac n | n == 0 = 1
| n /= 0 = n * fac (n-1)
-- Slightly improved implementation:
fac :: Integer -> Integer
fac n | n == 0 = 1
| otherwise = n * fac (n-1)
它说“第一个问题是编译器几乎不可能检查这样的保护是否详尽无遗,因为保护条件可能非常复杂(如果你使用 -Wall 选项,GHC 会警告你)。”
我知道我可以从命令行输入ghci -Wall some_file.hs,但是一旦在提示符中,我不确定如果我想重新加载如何检查警告。
我尝试谷歌后似乎无法找到答案!
提前致谢!
【问题讨论】:
-
为方便起见,您可以将其放入您的
.ghci文件中。我有:set -Wall\n :set -fno-warn-type-defaults\n :set -fno-warn-unused-do-bind可以打开除烦人的警告之外的所有警告。 -
如果你第一次设置
-Wall,我想它也会在任何重新加载时保持设置......