来自命令行的GHCi指令

ami*_*dfv 4 command-line haskell

在shell中,您可以将命令串在一起,用分号分隔:

cd ../haskell; rm ./foo; ghc foo.hs; cd ../original_directory
Run Code Online (Sandbox Code Playgroud)

如果你能为ghci的命令行参数做类似的事情会很好,例如

ghci Foo.hs; a <- getFoo; print a
Run Code Online (Sandbox Code Playgroud)

这可能吗?

Dan*_*ner 7

你可以使用ghc -e这个:

sorghum:~/programming% cat test.hs
getFoo = getLine
sorghum:~/programming% ghc test.hs -e 'do { a <- getFoo; print a }'
oenuth
"oenuth"
Run Code Online (Sandbox Code Playgroud)