我在Haskell中匆忙编写了一些代码,并使用了一个危险的非总函数,即fromJust
(我期望从输入中获得一个值)。我将在以后考虑我想要使用的错误处理风格。
GHC能否帮助我确保我已经摆脱了所有使用危险的非总函数(如fromJust
或head
,可能会崩溃),并在它们被使用时给出警告。
我在Haskell中匆忙编写了一些代码,并使用了一个危险的非总函数,即fromJust
(我期望从输入中获得一个值)。我将在以后考虑我想要使用的错误处理风格。
GHC能否帮助我确保我已经摆脱了所有使用危险的非总函数(如fromJust
或head
,可能会崩溃),并在它们被使用时给出警告。
使用-fwarn-incomplete-patterns
,GHC可以警告具有部分模式的定义(尽管不会警告包括不完整模式的值的用途)。此外,Neil Mitchell的catch尝试进行稍微详细的分析,以确定部分函数的安全和不安全的调用(虽然总体上这是一个无法判断的问题,因此它不总是正确的!)
ToJSONObject
constraint,用于通用编码和解构数据。 - imz -- Ivan Zakharyaschev
fromJust = ()
应该可以解决问题。 - dfeuerPrelude.fromJust
),你会得到一个歧义错误提示。但对于你从其他限定的模块导入的部分函数并不起作用。 - Ben