Haskell可以用来编写shell脚本吗?

时间:2012-01-19 12:09:40

标签: linux shell unix haskell

是否有可能在Haskell中编写shell脚本,如果是这样,你是如何做到的?只是改变翻译就好吗?

#!/bin/ghci

5 个答案:

答案 0 :(得分:43)

使用ghci只会在GHCi中加载模块。要将其作为脚本运行,请使用runhaskellrunghc

#!/usr/bin/env runhaskell
main = putStrLn "Hello World!"

答案 1 :(得分:13)

请查看此演示文稿:Practical Haskell: scripting with types

答案 2 :(得分:11)

如果您将解释器更改为:

,它应该可以工作
#!/usr/bin/runhaskell

答案 3 :(得分:5)

截至2016年10月,这个问题有了更好的答案:使用The Haskell Tool Stack script interpreter。基于stack的Haskell脚本是可移植的,因为它们下载(并缓存)正确版本的ghc及其所有包依赖项。

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

另见教程How to Script with Stack

答案 4 :(得分:3)

使用Haskell编写shell脚本的另一种方法是生成脚本,例如使用bashkell。如果您可能希望在未安装haskell的系统上运行,这将非常有用。