模板Haskell - 静态断言

时间:2014-02-10 09:04:09

标签: haskell template-haskell

我已经写了以下功能:

staticAssert :: Bool -> Q [Dec]
staticAssert cond = case cond of
    True -> return []
    False -> fail "staticAssert failed"

基本上这会在编译时评估条件,如果为false则会导致编译错误。

但是,我希望staticAssert而不是输出" staticAssert失败",输出断言失败的表达式。

1 个答案:

答案 0 :(得分:2)

看起来你想Language.Haskell.TH来自location