Можно ли использовать Haskell для написания сценариев оболочки? - PullRequest
24 голосов
/ 19 января 2012

Можно ли писать сценарии оболочки на Haskell и если да, то как вы это делаете? Просто сменив переводчика вот так?

#!/bin/ghci

Ответы [ 5 ]

43 голосов
/ 19 января 2012

Использование ghci просто загрузит модуль в GHCi.Чтобы запустить его как скрипт, используйте runhaskell или runghc:

#!/usr/bin/env runhaskell
main = putStrLn "Hello World!"
13 голосов
/ 19 января 2012

Хорошо проверьте эту презентацию: Практический Haskell: сценарии с типами

11 голосов
/ 19 января 2012

Должно работать, если вы измените переводчик на это:

#!/usr/bin/runhaskell
5 голосов
/ 28 октября 2016

На октябрь 2016 г. есть лучший ответ на этот вопрос: используйте Интерпретатор сценариев стека инструментов Haskell . Сценарии Haskell на основе stack являются переносимыми, поскольку они загружают (и кэшируют) правильную версию ghc и все их зависимости от пакетов.

#!/usr/bin/env stack
-- stack --resolver lts-3.2 --install-ghc runghc
main = putStrLn "Hello World!"

См. Также учебник Как создавать сценарии с помощью стека .

3 голосов
/ 20 января 2012

Другой способ написания сценариев оболочки с использованием Haskell - это создание сценариев, например, с помощью bashkell ​​.Это полезно, если вы хотите запускать в системах, в которых не установлен haskell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...