【问题标题】:Using modules that are "unsafe" in Haskell在 Haskell 中使用“不安全”的模块
【发布时间】:2014-12-07 14:48:01
【问题描述】:

如何导入由于安全而导致 ghci 编译器无法编译的模块?我正在尝试使用 Debug.Trace,但编译器告诉我它不安全。

【问题讨论】:

  • 这很奇怪。你的错误信息是什么?
  • 您的意思是“不受信任”吗?有一个重要的区别。
  • 您正在编译的模块是否在顶部有{-# LANGUAGE Safe #-} pragma?当然这后面不能跟import Debug.Trace。如果不是,可能是 -XSafe 正在其他地方使用,例如以你调用 ghci 的方式?另外,unSafeness 应该是递归的,所以如果你正在编译一个有{-# LANGUAGE Safe #-} 的模块但导入你正在修改的模块,同样会有麻烦。
  • 它的顶部有语言安全编译指示,但没有意识到这一点。感谢您的帮助,@Arthur 是否要将其作为答案提交,以便我将其标记为已解决?
  • 啊,那当然可以解决问题了。

标签: haskell ghci


【解决方案1】:

您正在编译的模块顶部是否有 {-# LANGUAGE Safe #-} 杂注?当然这不能跟import Debug.Trace。如果不是,可能是 -XSafe 正在其他地方使用,例如以您调用 ghci 的方式?另外,unSafeness 应该是递归的,所以如果你正在编译一个具有{-# LANGUAGE Safe #-} 的模块但导入你正在修改的模块,同样会有麻烦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多