Я написал скрипт на 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)
Если я удаляю строку Шебанга, она работает нормально.Однако утомительно добавлять расширение .hs
в скрипт, удалять верхнюю строку, затем удалять расширение .hs
и добавлять строку shebang каждый раз, когда я хочу попробовать скрипт в ghci (что довольно часто встречается каждый раз).Я хочу внести изменения в это).Есть ли более простой способ сделать это?
Я использую GHC версии 7.0.3 под Mac OS X 10.6.8