haskell - 有没有办法在我的 Hackage 包中启用 'assert'?

标签 haskell assert

我有一个 Haskell 包,我在其中使用 assert 执行一些检查,但是当我的包是在客户的机器上构建时,这些通常是 — because of, I gather, optimizations — 变成了空操作。

当我的 Hackage 包安装在别人的机器上时,有没有办法让 assert 我的 Hackage 包?或者我可以使用具有相同效果的替代方法?

最佳答案

如果你愿意,你可以指定-fno-ignore-asserts。这可能最好按文件完成,并附上编译指示:

{-# OPTIONS_GHC -fno-ignore-asserts #-}

您真的不应该在任何可能在紧密循环中使用断言的模块中保持断言处于事件状态。

关于haskell - 有没有办法在我的 Hackage 包中启用 'assert'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33108566/

相关文章:

haskell - Haskell 的 System.Console.GetOpt ReqArg 如何将 2 元函数作为其构造函数的第一个参数?

haskell - Yesod 系统要求是什么?

haskell - 数字与积分

Symfony2实体注释断言/回调方法未调用

java - JUnit assertion methods应该写成肯定的还是否定的?

c++ - 一行断言测试 STL 容器是否已排序

python 断言 float 列表

Haskell 的 groupBy 的 Scala 实现

haskell - 使用秒差距将文本删除到特殊字符

c# 'string.Equals' 返回错误结果?