Haskell 为什么在使用-XSafe时runghc会失败?
我试图用Haskell 为什么在使用-XSafe时runghc会失败?,haskell,Haskell,我试图用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:
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
的有效使用;错误是最令人困惑的。这是虫子吗
我正在使用Ubuntu 14.04,64位。如评论中所述,只需添加导入系统。环境观察到的行为可以用以下解释
runghc
的实现如下:
它将调用ghc
,这也显示了奇怪的行为:
ghc -XSafe -e ':main' Strange.hs
在evalatue表达式模式下实现ghc将添加有问题的导入:
我不确定这是不是一只虫子。我同意这很混乱。不混乱。添加
import System.Environment
。orig程序在Ubuntu 12.04下的ghc 7.4.1上对我有效,但在Win7下的Haskell平台14.2.0.0下的ghc 7.8.3下失败。添加导入是不必要的,因为代码既不调用getArgs
,也不调用System.Environment
中的任何函数,而且也不能解决问题(对我来说,在Win7上的Haskell平台14.2.0.0上)。现在我发现这很奇怪。我无法在fedora上使用ghc-7.8.3复制您的错误。你能显示runghc-v Strange.hs的输出吗?谢谢@ja!这似乎是一只虫子。我会很快报告的。@d8d0d65b3f7cf42:请参阅。