Можно ли писать сценарии оболочки на Haskell и если да, то как вы это делаете? Просто сменив переводчика вот так?
#!/bin/ghci
Использование ghci просто загрузит модуль в GHCi.Чтобы запустить его как скрипт, используйте runhaskell или runghc:
ghci
runhaskell
runghc
#!/usr/bin/env runhaskell main = putStrLn "Hello World!"
Хорошо проверьте эту презентацию: Практический Haskell: сценарии с типами
Должно работать, если вы измените переводчик на это:
#!/usr/bin/runhaskell
На октябрь 2016 г. есть лучший ответ на этот вопрос: используйте Интерпретатор сценариев стека инструментов Haskell . Сценарии Haskell на основе stack являются переносимыми, поскольку они загружают (и кэшируют) правильную версию ghc и все их зависимости от пакетов.
stack
ghc
#!/usr/bin/env stack -- stack --resolver lts-3.2 --install-ghc runghc main = putStrLn "Hello World!"
См. Также учебник Как создавать сценарии с помощью стека .
Другой способ написания сценариев оболочки с использованием Haskell - это создание сценариев, например, с помощью bashkell .Это полезно, если вы хотите запускать в системах, в которых не установлен haskell.