我在 haskell 中编写了一个脚本,命名testscript
为以下代码:
#!/usr/bin/env runhaskell
main = putStrLn "hello"
使脚本可执行后,我可以使用./testscript
. 但是,当我尝试使用 ghci(即使用:l testscript
)加载脚本时,出现错误
target `testscript' is not a module name or a source file
如果我重命名testscript
为testscript.hs
,并尝试再次使用 ghci 加载,我会收到错误消息
testscript.hs:1:0: error: invalid preprocessing directive #!
phase `C pre-processor' failed (exitcode = 1)
如果我删除 shebang 线,它可以正常工作。但是,每次我想在 ghci 中尝试脚本时,都必须.hs
向脚本添加扩展名,删除第一行,然后删除扩展名并添加 shebang 行(这在我每次想要进行更改时都很常见).hs
给它)。有没有更简单的方法来做到这一点?
我在 Mac OS X 10.6.8 下使用 ghc 版本 7.0.3