我正在尝试使用runghc
运行一些安全Haskell代码,但它似乎对我不起作用。
bgeron@tinker:/tmp/wtf$ ls
Strange.hs
bgeron@tinker:/tmp/wtf$ cat Strange.hs
module Strange where
main :: IO ()
main = do
return ()
bgeron@tinker:/tmp/wtf$ runghc -XSafe Strange
Strange:1:1: Not in scope: `System.Environment.withArgs'
bgeron@tinker:/tmp/wtf$ runghc --version
runghc 7.6.3
我认为这是对runghc
的有效使用;这个错误最令人困惑。这是一个错误吗?
我正在使用64位的Ubuntu 14.04。
答案 0 :(得分:1)
观察到的行为可以通过以下方式解释。
runghc
的实施在这里:
https://ghc.haskell.org/trac/ghc/browser/ghc/utils/runghc/runghc.hs
它会对ghc
进行以下调用,这也会显示奇怪的行为:
ghc -XSafe -e ':main' Strange.hs
在evalatue-expression模式下执行ghc会添加违规导入: https://ghc.haskell.org/trac/ghc/browser/ghc/ghc/InteractiveUI.hs#L1154
我不确定这是不是一个错误。我同意这令人困惑。
答案 1 :(得分:-1)
如评论中所述,只需添加import System.Environment