haskell and Unix shell scripting



是否有可能在unix shell脚本中使用haskell函数?

例如:

#!/bin/bash
...
var1=value
...
# use haskell function with input from shell variable var1
# and store the result into another shell variable var2
var2=haskellFunction $var1
...

我想在shell脚本中使用变量作为Haskell函数的参数和结果

预先感谢。

吉米

使用-e开关到ghc,例如

var2=$(ghc -e "let f x = x*x + x/2 in f $var1")

对于字符串处理,最好将Haskell的interact与Bash's Strings结合使用:

var2=$(ghc -e 'interact reverse' <<<$var1)

另外,您可以使用ghci:只需将Shebang #!/usr/bin/env runhaskell放在脚本的第一行,然后使其可执行。这样的脚本可以像往常一样从sh/bash/ksh/csh/whatever脚本调用。

,例如

$ cat > hello.hsh
#!/usr/bin/env runhaskell
main = putStrLn "Hello world!"
$ chmod +x hello.hsh
$ ./hello.hsh
Hello world!
$

最新更新